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); |