Changeset f15cf1a6 in mainline for uspace/lib/libc/generic/vfs.c
- Timestamp:
- 2008-02-17T16:22:10Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- cf19ab5
- Parents:
- e704503
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/generic/vfs.c
re704503 rf15cf1a6 311 311 int res; 312 312 ipcarg_t rc; 313 ipc_call_t answer; 314 aid_t req; 315 316 futex_down(&vfs_phone_futex); 317 async_serialize_start(); 318 if (vfs_phone < 0) { 319 res = vfs_connect(); 320 if (res < 0) { 321 async_serialize_end(); 322 futex_up(&vfs_phone_futex); 323 return res; 324 } 325 } 326 req = async_send_1(vfs_phone, VFS_MKDIR, mode, &answer); 313 aid_t req; 314 315 futex_down(&vfs_phone_futex); 316 async_serialize_start(); 317 if (vfs_phone < 0) { 318 res = vfs_connect(); 319 if (res < 0) { 320 async_serialize_end(); 321 futex_up(&vfs_phone_futex); 322 return res; 323 } 324 } 325 req = async_send_1(vfs_phone, VFS_MKDIR, mode, NULL); 327 326 rc = ipc_data_write_start(vfs_phone, path, strlen(path)); 328 327 if (rc != EOK) { … … 336 335 futex_up(&vfs_phone_futex); 337 336 return EOK; 337 } 338 339 static int _unlink(const char *path, int lflag) 340 { 341 int res; 342 ipcarg_t rc; 343 aid_t req; 344 345 futex_down(&vfs_phone_futex); 346 async_serialize_start(); 347 if (vfs_phone < 0) { 348 res = vfs_connect(); 349 if (res < 0) { 350 async_serialize_end(); 351 futex_up(&vfs_phone_futex); 352 return res; 353 } 354 } 355 req = async_send_0(vfs_phone, VFS_UNLINK, NULL); 356 rc = ipc_data_write_start(vfs_phone, path, strlen(path)); 357 if (rc != EOK) { 358 async_wait_for(req, NULL); 359 async_serialize_end(); 360 futex_up(&vfs_phone_futex); 361 return (int) rc; 362 } 363 async_wait_for(req, &rc); 364 async_serialize_end(); 365 futex_up(&vfs_phone_futex); 366 return EOK; 367 } 368 369 int unlink(const char *path) 370 { 371 return _unlink(path, L_NONE); 372 } 373 374 int rmdir(const char *path) 375 { 376 return _unlink(path, L_DIRECTORY); 338 377 } 339 378
Note:
See TracChangeset
for help on using the changeset viewer.