Re: Multi-threaded ORBit2 comments
Jules Colding <[email protected]>
| Newsgroups | gmane.comp.gnome.orbit.general |
|---|---|
| Message-ID | <1107955156.14597.20.camel@omc-3> |
On Wed, 2005-02-09 at 13:11 +0100, Jules Colding wrote: > Just some naive comments on the current status of multi-thread support > in ORBit2. No more than one thread was spawned in the following > experiments. > > I have been experimenting with ORBit2 and multi-threading. The > conclusion is that it is presently impossible unless ORB_init(), ORB_run > () and the servant all lives in the same thread. Not necessarily the > main thread though. > > I have tried to put ORB_init() in a separate thread, but the server > process hangs while handling a request. > > I have also tried to put the servant in a separate thread but keep > ORB_init() and ORB_run() in the main thread. More promising results, > requests are handled just fine, but references are leaked on exit and a > FREE_MEM exception is thrown from ORB_destroy(). > > It does not seem entirely trivial to fix these issues, maybe not even > necessary, but it would be nice if we could put servants in other > threads than the one in which the ORB is living in. Well, I have to put on my brown paper bag and correct myself... It is entirely possible to put servants in a separate thread than the one in which the ORB is living. I just tested it again and, after fixing an embarrassing bug, it actually worked. -- jules