Changeset 50461f2 in mainline


Ignore:
Timestamp:
2009-06-01T16:56:57Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
49f78c7
Parents:
d0a1d961
Message:

revert commit 4443 and implement a much finer solution as suggested by Jakub Jermar in commit 4444

Location:
uspace/srv/vfs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs_lookup.c

    rd0a1d961 r50461f2  
    164164            &answer);
    165165        vfs_release_phone(phone);
    166 
     166       
     167        async_serialize_start();
    167168        ipcarg_t rc;
    168         /* XXX shouldn't we disable fibril preemption here? */
    169169        async_wait_for(req, &rc);
    170 
     170        async_serialize_end();
     171       
    171172        futex_down(&plb_futex);
    172173        list_remove(&entry.plb_link);
  • uspace/srv/vfs/vfs_ops.c

    rd0a1d961 r50461f2  
    487487void vfs_open(ipc_callid_t rid, ipc_call_t *request)
    488488{
    489         async_serialize_start();
    490        
    491489        if (!vfs_files_init()) {
    492490                ipc_answer_0(rid, ENOMEM);
    493                 async_serialize_end();
    494491                return;
    495492        }
     
    515512            (lflag & (L_FILE | L_DIRECTORY)) == (L_FILE | L_DIRECTORY)) {
    516513                ipc_answer_0(rid, EINVAL);
    517                 async_serialize_end();
    518514                return;
    519515        }
     
    529525                ipc_answer_0(callid, EINVAL);
    530526                ipc_answer_0(rid, EINVAL);
    531                 async_serialize_end();
    532527                return;
    533528        }
     
    536531                ipc_answer_0(callid, ENOMEM);
    537532                ipc_answer_0(rid, ENOMEM);
    538                 async_serialize_end();
    539533                return;
    540534        }
     
    543537                ipc_answer_0(rid, rc);
    544538                free(path);
    545                 async_serialize_end();
    546539                return;
    547540        }
     
    568561                ipc_answer_0(rid, rc);
    569562                free(path);
    570                 async_serialize_end();
    571563                return;
    572564        }
     
    591583                                vfs_node_put(node);
    592584                                ipc_answer_0(rid, rc);
    593                                 async_serialize_end();
    594585                                return;
    595586                        }
     
    607598                vfs_node_put(node);
    608599                ipc_answer_0(rid, fd);
    609                 async_serialize_end();
    610600                return;
    611601        }
     
    627617        /* Success! Return the new file descriptor to the client. */
    628618        ipc_answer_1(rid, EOK, fd);
    629         async_serialize_end();
    630619}
    631620
Note: See TracChangeset for help on using the changeset viewer.