Opened 12 years ago

Last modified 7 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.

Change History (0)

Note: See TracTickets for help on using tickets.