[omniORB] Server - CTRL+C

Laurent Pointal pointal@lure.u-psud.fr
Mon, 06 Nov 2000 13:30:41 +0200


At 22:46 03/11/2000 +0100, Bryan C. Smith wrote:
>Setup: MSVC v6, NT v4 sp6
>
>I'm writing against IDL from 3rd party CORBA objects.  Communication is fine
>using omniORB.  When I CTRL+C the server, my client continues to run
>"almost" unknowing of the disrupted connection.  I say "almost" because I
>ran my client w/ ORBtraceLevel=20 and I see an omniConnectionBroken
>exception thrown.  However, my client app (main thread) does not catch such
>exception.  How can I handle this?  Configuration?  Does this indicate a
>possible issue with the 3rd party CORBA objects (their ORB)?

Hum, Ctrl-C signal is not very nice on Windows (I had problems for 
intecepting it under Python where I cant avoid program exiting - trying 
with a simple console app give the same result).

See help about "signal" function in MSVC online help, where there is a 
paragraph:
<<
Note SIGINT is not supported for any Win32 application including Windows NT 
and Windows 95. When a CTRL+C interrupt occurs, Win32 operating systems 
generate a new thread to specifically handle that interrupt. This can cause 
a single-thread application such as UNIX, to become multithreaded, 
resulting in unexpected behavior.
 >>

Good luck.

A+

Laurent.

---
Laurent POINTAL - CNRS/LURE - Service Informatique Experiences
Tel/fax: 01 64 46 82 80 / 01 64 46 41 48
email  : pointal@lure.u-psud.fr  ou  lpointal@planete.net