Re: (ORBit-mt-0.5.7)g_main_iterate(): main loop already active in another thread



Hi Rajesh,

> I am running into this warning conitnuously from the glib library.
> I am using ORBit-mt-0.5.7 and glib-1.2.0.0.9 on RH6.2
> 
> GLib-WARNING **:g_main_iterate(): main loop already active in another thread
> 
> I have three processes A, B and C. Process A has multiple threads
> say A.1, B.1 and C.1.

You mean A.1, A.2, A.3?

> A.1 runs CORBA_ORB_run and A.2 makes ORB calls (client) to threads in B and 
> C (servers) one of whose threads run CORBA_ORB_run.
> 
> It seems glibs main loop is being called by the ORB call from A.2
> which is being already used by the thread A.1 because it is running
> CORBA_ORB_run. 

Indeed, the reason is that in normal operation mode ORBit will be able
to process requests, when itself is waiting for a reply to a request
itself sent out.

> I am consistently seeing the above warning for 51
> times everytime before A.2 thread gets control over the glib main loop. I 
> tried to hack inside the code of glib and found that the
> variable poll_waiting is always set to 1 whenever A.2 (client) makes
> an ORB call.
> 
> Is ORBit-mt designed to run in such a situation??

Yes, you would need ORBit-mt for this setup. However the real question
is, do you really need that setup? As said above, your CORBA-objects
inside your server are reachable, even when one of that objects is
waiting for a reply from another server.
 
Bye,
Sebastian
-- 
Sebastian Wilhelmi
mailto:wilhelmi@ira.uka.de
http://goethe.ira.uka.de/~wilhelmi





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