L4 IPC doubt

Ronald Aigner ra3 at os.inf.tu-dresden.de
Mon May 2 15:29:42 CEST 2005

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.

To solve this, you would have to build a multithreaded server S.

Greetings, Ron.

Tiago Jorge wrote on 05/02/05 14:52 this:
> hello to you all.
> Let me describe my cenario...
> I have my L4 server that receives ipc calls. The code was generated from 
> DICE. And i have a lib and i've implemented a client that uses that lib.
> My L4 server also uses ipc to comunicate with other servers, mainly with 
> flips that also uses IPC.
> that problem is the following:
> My client makes an IPC call and blocks waiting for the answer from my 
> server... while processing that answer, my server has to comunicate with 
> flips using IPC.
> 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?
> thanks in advance
> Tiago
> _______________________________________________
> l4-hackers mailing list
> l4-hackers at os.inf.tu-dresden.de
> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

Mit freundlichen Gruessen / with regards
ra3 @ inf.tu-dresden.de

More information about the l4-hackers mailing list