Crashing in CORBA_ORB_run() - a.k.a ORBit2 in Evolution 2.4 troubles



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




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]