[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xmlblaster] C++ deadlock with mico
Juergen Prinz wrote:
thanks for the qick responses.
For the moment I'm only testing to connect TIMS-sites (it is IDVS using LINUX),
so I used a workaround, which dit it.
For the other solutions I would need more time and Kroners
i have noticed that mico 2.3.11 is out which supports
now multi threading.
With minor changes in our corba abstraction header and removing
it is running now like a charme. The subscribe() in the update()
runs as well.
The code change is commited to cvs (on branch DEV_085),
Hope to see you
nice to meet you here!
I just compiled mico and omniOrb and it is as Michele said:
mico is single threaded which leads to a deadlock when calling
a remote message from a callback.
You have to choose:
o mico -> avoid the above
o orbix -> have some spare Kroner to buy it
o tao -> is very huge but works fine
o omniORB -> is small, high performing (would be my choice)
o Finish the C plugin embedding into C++
-> You may need to add a C thread pool into the C code first
-> Is very tiny and you don't need any CORBA anymore
-> Would be a nice contribution to xmlBlaster
the problem is that MICO is not a multithread orb. We tested what you
suggested with omniorb and tao and both work. I think if you want this
feature you need to switch to a multithread orb like tao omniorb or orbix.
Jürgen Prinz wrote:
I encountered a problem using c++ when calling a subscribe to the
xmlBlaster out of the update-callback. The callback was invoked before
the "Main"-subscribe returned. Neither call to subscibe returned.
This can be demonstrated by modifiing SubscribeDemo.cpp too.
When using java there are no problems dooing this.