summaryrefslogtreecommitdiff
path: root/examples/C++NPv2
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2002-06-06 22:21:56 +0000
committerSteve Huston <shuston@riverace.com>2002-06-06 22:21:56 +0000
commit021fd35768d4e53ea8fadd5eb44fad52335a4cd5 (patch)
tree48416e4198fe853708ab30565b2f49887a368ee8 /examples/C++NPv2
parent49dccf135fbb933fde13413f413a9f227ea9db20 (diff)
downloadATCD-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.cpp12
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;
}