L4 IPC doubt
esk at ira.uka.de
Mon May 2 15:36:48 CEST 2005
>> The problem is here... my server blocks in the ipc_send when
>> calling flips, but when i remove the call from the client it works
>> fine, meaning that the client is not blocked waiting for ipc to
>> return. My questions are... why can't i do IPC while another one
>> that has nothing to do with my server is blocked? there can be only
>> one ipc call in the whole system at a time? they all must be
> I will try to describe the scenario as I understood it:
> There exist:
> - The Flips Server (F)
> - The Server (S) with one server thread
> - One or more Clients (C1, C2, ...).
> Now C1 calls S, which receives the message, decodes it, calls your
> server function, makes a call to F and blocks, waiting for the reply
> from F. The C2 tries to call the same server S.
> If this is correct, then yes, C2 and all following clients will
> block, because the server-thread is blocked waiting for F.
I believe the problem was that S blocks (in the send part) when
calling F, but only when a client is waiting for a reply from S.
More information about the l4-hackers