Opened 14 years ago
Last modified 8 years ago
#443 new defect
IPC hangup should awaken blocked clients — at Initial Version
| Reported by: | Jakub Jermář | Owned by: | Jakub Jermář |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | helenos/lib/c | Version: | mainline |
| Keywords: | Cc: | ||
| Blocker for: | Depends on: | ||
| See also: |
Description
There is a difference between the behavior on IPC_M_PHONE_HUNGUP for blocked servers and blocked clients. For our purpose, servers are fibril blocked in async_get_call_timeout().
The async framework will attempt to wake up a blocked server from route_call() but it will let a blocked client continue to sleep.
We should fix this for the blocked clients and, also, callers of fibril_condvar_wait() too so that if the fibril receives IPC_M_PHONE_HUNGUP, the blocking fibril will interrupt its sleep with a return value indicating the sleep was interrupted.
Note:
See TracTickets
for help on using tickets.
