L4 IPC doubt

Espen Skoglund esk at ira.uka.de
Mon May 2 15:36:48 CEST 2005

[Tiago Jorge]
>> 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
>> sequential?

[Ronald Aigner]
> 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 mailing list