Flips tracking of IPC
Tiago Jorge
tjpj at lasige.di.fc.ul.pt
Mon May 2 21:30:04 CEST 2005
Christian Helmuth wrote:
>Hello,
>
>On Fri, Apr 29, 2005 at 04:55:31PM +0100, Tiago Jorge wrote:
>[...]
>
>
>>is there any problem with FLIPS that prevents me from sending something
>>from a socket that is blocked in a recv in another thread (should't be
>>because TCP is bi-directional)?
>>
>>
>
>Unfortunately you're right. We implemented FLIPS session-based and one
>session can be used only for one blocking operation at a time. This comes
>from the design of dde_linux and Linux, where client threads must be
>represented as process threads (with task_struct and all) for native Linux
>kernel code.
>
>A thread (process) that is enqueued in a wait queue calls schedule().
>schedule() is implemented in a way that the L4 thread representing the
>Linux process blocks until woken up by a call to wake_up() or a similar
>operation. For your socket this means: If the session thread is blocked,
>then no further requests are processed on FLIPS side.
>
>The L4VFS dietlibc backend may also be a spoiler here (not investigated
>further) as it may not support multiple server threads for one and the
>same file id.
>
>Sorry for not helping you much, but I hope this clears things up.
>
>
ok... maybe this is my problem regarding another thread in the hackers
list... can this be solved using "select"?
Because i must have a listen socket and a sending socket... so if my l4
server has a socket in a select wainting for input, should it be able to
send throught another socket?
thanks
Tiago
More information about the l4-hackers
mailing list