diff options
author | Steve Huston <shuston@riverace.com> | 2002-06-06 22:21:56 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 2002-06-06 22:21:56 +0000 |
commit | 021fd35768d4e53ea8fadd5eb44fad52335a4cd5 (patch) | |
tree | 48416e4198fe853708ab30565b2f49887a368ee8 /examples/C++NPv2 | |
parent | 49dccf135fbb933fde13413f413a9f227ea9db20 (diff) | |
download | ATCD-021fd35768d4e53ea8fadd5eb44fad52335a4cd5.tar.gz |
Thu Jun 6 18:10:45 Steve Huston <shuston@riverace.com>
Diffstat (limited to 'examples/C++NPv2')
-rw-r--r-- | examples/C++NPv2/AC_Client_Logging_Daemon.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/examples/C++NPv2/AC_Client_Logging_Daemon.cpp b/examples/C++NPv2/AC_Client_Logging_Daemon.cpp index 09e8bd9ee82..82dcdc73b1d 100644 --- a/examples/C++NPv2/AC_Client_Logging_Daemon.cpp +++ b/examples/C++NPv2/AC_Client_Logging_Daemon.cpp @@ -190,15 +190,21 @@ int AC_Output_Handler::open (void *connector) { } int AC_Output_Handler::put (ACE_Message_Block *mb, - ACE_Time_Value *timeout) -{ return putq (mb, timeout); } + ACE_Time_Value *timeout) { + int retval; + while ((retval = putq (mb, timeout)) == -1) { + if (msg_queue ()->state () != ACE_Message_Queue_Base::PULSED) + break; + } + return retval; +} int AC_Output_Handler::handle_input (ACE_HANDLE h) { peer ().close (); reactor ()->remove_handler (h, ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL); - msg_queue ()->deactivate (1); + msg_queue ()->pulse (); return 0; } |