Opened 13 years ago
Last modified 7 years ago
#443 new defect
IPC hangup should awaken blocked clients
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 (last modified by )
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()
and clients are fibrils blocked in async_wait_for()
or async_wait_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.
Change History (3)
comment:1 by , 13 years ago
Description: | modified (diff) |
---|
comment:2 by , 10 years ago
Milestone: | 0.6.0 → 0.7.1 |
---|
comment:3 by , 7 years ago
Milestone: | 0.7.1 |
---|