Rev 2490 | Rev 2534 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2490 | Rev 2492 | ||
|---|---|---|---|
| Line 354... | Line 354... | ||
| 354 | while (list_empty(&conn->msg_queue)) { |
354 | while (list_empty(&conn->msg_queue)) { |
| 355 | if (usecs) |
355 | if (usecs) |
| 356 | insert_timeout(&conn->wdata); |
356 | insert_timeout(&conn->wdata); |
| 357 | 357 | ||
| 358 | conn->wdata.active = 0; |
358 | conn->wdata.active = 0; |
| - | 359 | /* |
|
| - | 360 | * Note: the current fibril will be rescheduled either due to a |
|
| - | 361 | * timeout or due to an arriving message destined to it. In the |
|
| - | 362 | * former case, handle_expired_timeouts() and, in the latter |
|
| - | 363 | * case, route_call() will perform the wakeup. |
|
| - | 364 | */ |
|
| 359 | fibril_schedule_next_adv(FIBRIL_TO_MANAGER); |
365 | fibril_schedule_next_adv(FIBRIL_TO_MANAGER); |
| 360 | /* |
366 | /* |
| 361 | * Futex is up after getting back from async_manager get it |
367 | * Futex is up after getting back from async_manager get it |
| 362 | * again. |
368 | * again. |
| 363 | */ |
369 | */ |
| 364 | futex_down(&async_futex); |
370 | futex_down(&async_futex); |
| 365 | if (usecs && conn->wdata.timedout && |
371 | if (usecs && conn->wdata.timedout && |
| 366 | list_empty(&conn->msg_queue)) { |
372 | list_empty(&conn->msg_queue)) { |
| 367 | /* If we timed out -> exit */ |
373 | /* If we timed out -> exit */ |
| 368 | futex_up(&async_futex); |
374 | futex_up(&async_futex); |