[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.
eSk