diff options
Diffstat (limited to 'ace/Acceptor.cpp')
-rw-r--r-- | ace/Acceptor.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ace/Acceptor.cpp b/ace/Acceptor.cpp index 4f9b270f97d..35970cd85a7 100644 --- a/ace/Acceptor.cpp +++ b/ace/Acceptor.cpp @@ -339,6 +339,13 @@ ACE_Acceptor<SVC_HANDLER, ACE_PEER_ACCEPTOR_2>::handle_input (ACE_HANDLE listene // Default is "timeout (0, 0)," which means "poll." ACE_Time_Value timeout; +# if defined (ACE_WIN64) + // This arg is ignored on Windows and causes pointer truncation + // warnings on 64-bit compiles. + int select_width = 0; +# else + int select_width = int (listener) + 1; +# endif /* ACE_WIN64 */ // Accept connections from clients. Note that a loop is used for two // reasons: @@ -404,7 +411,7 @@ ACE_Acceptor<SVC_HANDLER, ACE_PEER_ACCEPTOR_2>::handle_input (ACE_HANDLE listene // Now, check to see if there is another connection pending and // break out of the loop if there is none. while (this->use_select_ - && ACE_OS::select (int (listener) + 1, + && ACE_OS::select (select_width, conn_handle, 0, 0, |