diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-11-04 21:36:10 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-11-04 21:36:10 +0000 |
commit | d2d1bff478dd70e128aaa5b0522d2e05c19d740d (patch) | |
tree | a32489842d9f8cec42fbded14bddc638eaa8bf4d /ace/CORBA_Handler.cpp | |
parent | 505aef66e1b6b12b47b1c88df0ae61aaf2fe6c21 (diff) | |
download | ATCD-d2d1bff478dd70e128aaa5b0522d2e05c19d740d.tar.gz |
Foo
Diffstat (limited to 'ace/CORBA_Handler.cpp')
-rw-r--r-- | ace/CORBA_Handler.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ace/CORBA_Handler.cpp b/ace/CORBA_Handler.cpp index bd0fde609c4..2c91d534caa 100644 --- a/ace/CORBA_Handler.cpp +++ b/ace/CORBA_Handler.cpp @@ -442,6 +442,19 @@ ACE_MT_CORBA_Handler::process_events (void *) { ACE_TRACE ("ACE_MT_CORBA_Handler::process_events"); + // Special knowlege, we "know" that we are dealing with a singleton + // and that we are invoked in a context where the mutex controlling + // instance creation is held, so by the time we get the mutex + // the instance must exist. + if (ACE_MT_CORBA_Handler::instance_ == 0) + { + ACE_GUARD_RETURN (ACE_Thread_Mutex, + ace_mon, + ace_mt_corba_handler_lock_, + 0); + ACE_ASSERT (ACE_MT_CORBA_Handler::instance_ != 0); + } + ACE_Thread_Control t (ACE_MT_CORBA_Handler::instance_->thr_mgr ()); // This thread only processes events. |