Please report new issues athttps://github.com/DOCGroup
When running Notify_Service with asynchronous dispatching (as enabled in the svc.conf file in TAO/orbsvcs/Notify_Service) Ctrl-C will hang, if there is still a consumer registered at the service. The root problem is, that the Notify_Service_Driver::run() blocks on worker_thr_mgr()->wait(). Notify_Service_Driver::shutdown() calls orb_->shutdown(), but does not cancel the dispatching threads, which seem to be managed under the same thread manager. Consumers can not disconnect after Ctrl-C anymore either, as the orb event loop is already down. Workaround: Initializing -ORBRunThreads 0 causes ::run() to end up in orb_->run() instead of ...->wait(). This at least works for the "single threaded orb" configuration. This can also be achieved by initializing nthreads_ with 0 instead of 1 in the ctor of the _Driver class.
Steve, can OCI have a look at this as maintainers of the notification service?