[omniORB] Problem shuting down server on Aix 4.3.2

Thomas Zumbiehl zumbiehl@bvassociates.fr
Tue Jul 30 09:00:02 2002


Hi everybody,

I have a soft made using 3 tiers architecture. One client, one main server
and one slave server. I am trying to make the slave server having a smooth
shutdown. I am doing this by catching the USR1, USR2 and TERM signals. When
I get one of those, I do an orb shutdown (that was my first attempt). This
works fine on Linux 2.2 and Solaris 7. But it does'nt work on Aix (I get an
abort after the orb has been shut down).
I tried the solution of a "shutdown thread" waiting on a semaphore. I did'nt
get any better result.

It had a look with gdb. I got some "strange" results:
- in 95% of the cases, I get an omniConnectionBroken exception thrown by the
tcpSocketRendezvouser in tcpSocketMTfactory.cc, at line 1470.
- in some other cases, I get exceptions thrown in some others thread of
omniORB.

As the code is strictly identical between platforms, I guess that AIX does
not behave as Linux or Solaris. The ORB has been compiled using gcc 2.95.3.

Where may the problem come from ?
Does anyone has used omniORB on Aix compiled with gcc ?
Does anyone has achived a successful shutdown using signals on Aix ?

Thanks for your help. This is really a problem for me.


Cheers
Thomas