summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2011-05-30 16:00:47 +0000
committerSteve Huston <shuston@riverace.com>2011-05-30 16:00:47 +0000
commit3f9715a36fcc635e0b85233f065b1707dbdf4749 (patch)
treeb152b3cff5c5f4f463eae764ee490d6e08221a65
parentd6280281817769385535bf520c5a47818669d21e (diff)
downloadATCD-3f9715a36fcc635e0b85233f065b1707dbdf4749.tar.gz
Merge in AIX XL C fixes from 5.8
-rw-r--r--examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp b/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp
index 1bbfc522da7..85020d78bfc 100644
--- a/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp
+++ b/examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp
@@ -32,10 +32,12 @@ Reactor_Logging_Server_Adapter<ACCEPTOR>::init (int argc,
return server_ == 0 ? -1 : 0;
}
-
+// NOTE! The (ACCEPTOR*) cast below is NOT technically necessary, but it
+// works around a bug in IBM XL C++ 9 that resolves to the wrong version of
+// handle_close().
template <class ACCEPTOR> int
-Reactor_Logging_Server_Adapter<ACCEPTOR>::fini ()
-{ server_->handle_close (); server_ = 0; return 0; }
+Reactor_Logging_Server_Adapter<ACCEPTOR>::fini ()
+{ ((ACCEPTOR*)server_)->handle_close (); server_ = 0; return 0; }
template <class ACCEPTOR> int