Crashing in CORBA_ORB_run() - a.k.a ORBit2 in Evolution 2.4 troubles
Jules Colding <[email protected]>
| Newsgroups | gmane.comp.gnome.orbit.general |
|---|---|
| Message-ID | <[email protected]> |
Hi, I am trying to instantiate an ORB in a shared library that I am developing for Evolution 2.4 (a new Camel provider). The problem is that Evolution is being killed when the g_assert() in giop_main_run() is being executed: g_assert (giop_thread_self () == giop_main_thread); Is there any reason why the giop thread *must* be the main thread? I am somewhat baffled as I have used a thread to initiate and run an ORB. That ORB was declared/defined in the main thread though, but I can't see why that should matter. The details: A Camel provider is implemented as a shared library which is loaded by Evolution when needed. The Camel provider then talks to the server backend and provides server-specific implementations of standard virtual methods. I need an ORB in my implementation as my backend server talks CORBA. I am therefore initiating an ORB with "orbit-io-thread" in the name to force multi threading. I then attempts to bring it online with CORBA_ORB_run(). CORBA_ORB_run() in turn calls giop_main_run() where the assert is executed and subsequently causes the termination of Evolution. Any insights will be very welcome. Thanks a lot in advance, jules