Could you share your client and server's code? Bjoern
Am 08.05.2014 21:02, schrieb Yuxin Ren: > Year, > I did those thing. Each server tread has its own server obj and register > server instance, and it calls register_obj() and server.loop() on their own. > But this does not work. And actually the master thread in server always > receives all requests. When I let the master thread to spin, the server > cannot > receive any request, even though other threads in server block on the > server.loop() function. > I am really confused about it. > > Thank you. > > > On Thu, May 8, 2014 at 12:22 PM, Björn Döbel > <[email protected]>wrote: > > Am Do 08 Mai 2014 18:17:54 CEST schrieb Yuxin Ren: >>>> HiThank you very much for your reply.I did what you said, but the > behavior is very confusing.I create two channels in lua script, and > correspond each channel to a pair of client and server threads. >>>> In the server side, each thread registers its own server obj to its > own Registry_server, and of course they have different dispatch > functions.Now the result is only one server thread receive all requests > from client, and it selects different dispatch function to run based on the > request. >>>> But I want different threads to run different dispatch function, not > only one server thread process all requests using different dispatch > functions.Do you have any ideas about this?Thank you. >>>> On Thu, May 8, 2014 at 2:07 AM, Björn Döbel <[email protected]> > wrote: >>>> >>>> ********* *ANFANG des verschlüsselten oder unterschriebenen Bereichs* > ********* >>>> >>>> Hi, >>>> >>>> On 08.05.2014 03:29, Yuxin Ren wrote: >>>>> I have one client and one server talking to each other, and both of >>>>> them have 2 threads. I want thread 1 in client only talk to thread >>>>> 1 in server, and thread 2 in client only talk to thread 2 in >>>>> server. How can I achieve this? >>>> >>>> The simple client/server example >>>> (http://wiki.tudos.org/L4Re_simple_client_server_example) shows how to >>>> connect a single thread in each process (or task in L4 speak). You >>>> could extend this example to create two channels in the Lua setup >>>> file, pass both channels to the tasks during startup and then let each >>>> thread use one of them for communication with its counterpart. >>>> >>>> Note that does not completely enforce your requirement that each >>>> thread can only talk to exactly one other. Capabilities (e.g., for the >>>> communication channels) are shared per task and technically each >>>> thread could therefore send messages on each channel. If you want >>>> strict isolation, you have to separate the threads into separate tasks. >>>> >>>> Bjoern >>>> >>>> >>>> ********* *ENDE des verschlüsselten oder unterschriebenen Bereichs* > ********* >>>> >>>> _______________________________________________ >>>> l4-hackers mailing list >>>> [email protected] >>>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers >>>> >>>> >>>> >>>> > > Quick guess: your separate threads need to call the register_obj() > function and the server.loop() functions on their own. (You also need > two independent instances of the Server_object.) > > Bjoern >> >> > _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
