Changes in uspace/lib/c/generic/async/client.c [fb0ec570:ab6edb6] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/async/client.c
rfb0ec570 rab6edb6 121 121 #include <abi/mm/as.h> 122 122 #include "../private/libc.h" 123 #include "../private/fibril.h" 123 124 124 125 /** Naming service session */ … … 190 191 } 191 192 193 192 194 /** Mutex protecting inactive_exch_list and avail_phone_cv. 193 195 * … … 241 243 assert(arg); 242 244 243 futex_ down(&async_futex);245 futex_lock(&async_futex); 244 246 245 247 amsg_t *msg = (amsg_t *) arg; … … 266 268 } 267 269 268 futex_u p(&async_futex);270 futex_unlock(&async_futex); 269 271 } 270 272 … … 355 357 amsg_t *msg = (amsg_t *) amsgid; 356 358 357 futex_ down(&async_futex);359 futex_lock(&async_futex); 358 360 359 361 assert(!msg->forget); … … 361 363 362 364 if (msg->done) { 363 futex_u p(&async_futex);365 futex_unlock(&async_futex); 364 366 goto done; 365 367 } … … 370 372 371 373 /* Leave the async_futex locked when entering this function */ 372 fibril_switch(FIBRIL_TO_MANAGER); 373 374 /* Futex is up automatically after fibril_switch */ 374 fibril_switch(FIBRIL_FROM_BLOCKED); 375 futex_unlock(&async_futex); 375 376 376 377 done: … … 401 402 amsg_t *msg = (amsg_t *) amsgid; 402 403 403 futex_ down(&async_futex);404 futex_lock(&async_futex); 404 405 405 406 assert(!msg->forget); … … 407 408 408 409 if (msg->done) { 409 futex_u p(&async_futex);410 futex_unlock(&async_futex); 410 411 goto done; 411 412 } … … 443 444 444 445 /* Leave the async_futex locked when entering this function */ 445 fibril_switch(FIBRIL_TO_MANAGER); 446 447 /* Futex is up automatically after fibril_switch */ 446 fibril_switch(FIBRIL_FROM_BLOCKED); 447 futex_unlock(&async_futex); 448 448 449 449 if (!msg->done) … … 475 475 assert(!msg->destroyed); 476 476 477 futex_ down(&async_futex);477 futex_lock(&async_futex); 478 478 479 479 if (msg->done) { … … 484 484 } 485 485 486 futex_u p(&async_futex);486 futex_unlock(&async_futex); 487 487 } 488 488 … … 504 504 tv_add_diff(&awaiter.to_event.expires, timeout); 505 505 506 futex_ down(&async_futex);506 futex_lock(&async_futex); 507 507 508 508 async_insert_timeout(&awaiter); 509 509 510 510 /* Leave the async_futex locked when entering this function */ 511 fibril_switch(FIBRIL_TO_MANAGER); 512 513 /* Futex is up automatically after fibril_switch() */ 511 fibril_switch(FIBRIL_FROM_BLOCKED); 512 futex_unlock(&async_futex); 514 513 } 515 514
Note:
See TracChangeset
for help on using the changeset viewer.