From d96b3a0a4dd422f836bf2589c84beb8439d73a6f Mon Sep 17 00:00:00 2001 From: Steve Huston Date: Wed, 24 Jul 2002 15:22:02 +0000 Subject: ChangeLogTag:Wed Jul 24 10:58:22 2002 Steve Huston --- ChangeLog | 14 ++++++++ ChangeLogs/ChangeLog-03a | 14 ++++++++ ace/Acceptor.cpp | 9 ++++- tests/Cached_Accept_Conn_Test.cpp | 6 ++-- tests/MT_Reactor_Upcall_Test.cpp | 76 +++++++++++++++++++-------------------- 5 files changed, 76 insertions(+), 43 deletions(-) diff --git a/ChangeLog b/ChangeLog index edbcad922d9..94859e61409 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +Wed Jul 24 10:58:22 2002 Steve Huston + + * ace/Acceptor.cpp (ACE_Acceptor::handle_input): When calling select(), + use a int value instead of casting a ACE_HANDLE to an int. + + * tests/Cached_Accept_Conn_Test.cpp: Use %@ instead of %d when + logging pointers. + + * tests/MT_Reactor_Upcall_Test.cpp: Added ACE_TEXT to char strings + where needed. Changed the send to send fixed header, then the + variable-size string. Sending all at once doesn't work if the + string doesn't immediately follow the size_ member in memory, + which happened on Win64. + Wed Jul 24 10:07:24 2002 Chad Elliott * bin/MakeProjectCreator/README: diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index edbcad922d9..94859e61409 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,17 @@ +Wed Jul 24 10:58:22 2002 Steve Huston + + * ace/Acceptor.cpp (ACE_Acceptor::handle_input): When calling select(), + use a int value instead of casting a ACE_HANDLE to an int. + + * tests/Cached_Accept_Conn_Test.cpp: Use %@ instead of %d when + logging pointers. + + * tests/MT_Reactor_Upcall_Test.cpp: Added ACE_TEXT to char strings + where needed. Changed the send to send fixed header, then the + variable-size string. Sending all at once doesn't work if the + string doesn't immediately follow the size_ member in memory, + which happened on Win64. + Wed Jul 24 10:07:24 2002 Chad Elliott * bin/MakeProjectCreator/README: 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::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::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, diff --git a/tests/Cached_Accept_Conn_Test.cpp b/tests/Cached_Accept_Conn_Test.cpp index 24246cb1ae7..97271e0c1c4 100644 --- a/tests/Cached_Accept_Conn_Test.cpp +++ b/tests/Cached_Accept_Conn_Test.cpp @@ -354,7 +354,7 @@ Client_Svc_Handler::open (void *) { if (debug) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("opening Client_Svc_Handler %d with handle %d\n"), + ACE_TEXT ("opening Client_Svc_Handler %@ with handle %d\n"), this, this->peer ().get_handle ())); return 0; @@ -364,7 +364,7 @@ int Client_Svc_Handler::close (u_long flags) { ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Closing Client_Svc_Handler %d with handle %d\n"), + ACE_TEXT ("Closing Client_Svc_Handler %@ with handle %d\n"), this, this->peer ().get_handle ())); return ACE_Svc_Handler::close (flags); @@ -381,7 +381,7 @@ Server_Svc_Handler::open (void *) { if (debug) ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("opening Server_Svc_Handler %d with handle %d\n"), + ACE_TEXT ("opening Server_Svc_Handler %@ with handle %d\n"), this, this->peer ().get_handle ())); diff --git a/tests/MT_Reactor_Upcall_Test.cpp b/tests/MT_Reactor_Upcall_Test.cpp index 14190eb6ff4..89015574a7c 100644 --- a/tests/MT_Reactor_Upcall_Test.cpp +++ b/tests/MT_Reactor_Upcall_Test.cpp @@ -32,8 +32,7 @@ int number_of_event_loop_threads = 3; int number_of_messages = 10; int sleep_time_in_msec = 100; int lock_upcall = 1; -static const char *message = -"Hello there!"; +static const char *message = "Hello there!"; class Guard { @@ -113,15 +112,14 @@ Handler::handle_input (ACE_HANDLE fd) ssize_t result = ACE::recv_n (fd, - &message, + &message.type_, fixed_size_of_message); ACE_ASSERT (result == ssize_t (fixed_size_of_message)); // On shutdown message, stop the event loop. if (message.type_ == Message::SHUTDOWN) { - ACE_DEBUG ((LM_DEBUG, - "(%t) Shutdown message\n")); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Shutdown message\n"))); this->shutdown_ = 1; @@ -141,7 +139,7 @@ Handler::handle_input (ACE_HANDLE fd) message.data_[result] = '\0'; ACE_DEBUG ((LM_DEBUG, - "(%t) Starting to handle message %d: %s\n", + ACE_TEXT ("(%t) Starting to handle message %d: %s\n"), this->number_of_messages_read_ + 1, message.data_)); @@ -153,7 +151,7 @@ Handler::handle_input (ACE_HANDLE fd) this->number_of_messages_read_++; ACE_DEBUG ((LM_DEBUG, - "(%t) Completed handling message %d\n", + ACE_TEXT ("(%t) Completed handling message %d\n"), this->number_of_messages_read_)); return 0; @@ -197,13 +195,12 @@ test_reactor_upcall (ACE_Reactor &reactor) data_message.type_ = Message::DATA; data_message.size_ = - ACE_OS::strlen (message); - ACE_OS::strcpy (data_message.data_, - message); - - size_t size_of_data_message = - sizeof (Message::Type) + sizeof (size_t) + data_message.size_; + ACE_OS_String::strlen (message); + ACE_OS_String::strcpy (data_message.data_, message); + // Send in two pieces because the char array may not be aligned + // directly after the size. + size_t header_size = sizeof (Message::Type) + sizeof (size_t); for (int i = 0; i < number_of_messages; ++i) @@ -211,9 +208,14 @@ test_reactor_upcall (ACE_Reactor &reactor) // This should trigger a call to . result = ACE::send_n (handler.pipe_.write_handle (), - &data_message, - size_of_data_message); - ACE_ASSERT (result == ssize_t (size_of_data_message)); + &data_message.type_, + header_size); + ACE_ASSERT (result == ssize_t (header_size)); + result = + ACE::send_n (handler.pipe_.write_handle (), + &data_message.data_, + data_message.size_); + ACE_ASSERT (result == ssize_t (data_message.size_)); } // We are done: send shutdown message. @@ -222,15 +224,12 @@ test_reactor_upcall (ACE_Reactor &reactor) Message::SHUTDOWN; shutdown_message.size_ = 0; - size_t size_of_shutdown_message = - sizeof (Message::Type) + sizeof (size_t); - // This should trigger a call to . result = ACE::send_n (handler.pipe_.write_handle (), - &shutdown_message, - size_of_shutdown_message); - ACE_ASSERT (result == ssize_t (size_of_shutdown_message)); + &shutdown_message.type_, + header_size); + ACE_ASSERT (result == ssize_t (header_size)); // Wait for the event loop tasks to exit. event_loop_task.wait (); @@ -263,19 +262,20 @@ parse_args (int argc, ACE_TCHAR *argv[]) ACE_OS::atoi (get_opt.opt_arg ()); break; default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s\n" - "\t-m (defaults to %d)\n" - "\t-t (defaults to %d)\n" - "\t-s (defaults to %d)\n" - "\t-l (defaults to %d)\n" - "\n", - argv [0], - number_of_messages, - number_of_event_loop_threads, - sleep_time_in_msec, - lock_upcall), - -1); + ACE_ERROR_RETURN + ((LM_ERROR, + ACE_TEXT ("usage: %s\n") + ACE_TEXT ("\t-m (defaults to %d)\n") + ACE_TEXT ("\t-t (defaults to %d)\n") + ACE_TEXT ("\t-s (defaults to %d)\n") + ACE_TEXT ("\t-l (defaults to %d)\n") + ACE_TEXT ("\n"), + argv [0], + number_of_messages, + number_of_event_loop_threads, + sleep_time_in_msec, + lock_upcall), + -1); } return 0; @@ -296,8 +296,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) if (result != 0) return result; - ACE_DEBUG ((LM_DEBUG, - "\nTesting TP Reactor\n\n")); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Testing TP Reactor\n"))); ACE_TP_Reactor tp_reactor_impl; ACE_Reactor tp_reactor (&tp_reactor_impl); @@ -306,8 +305,7 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) #if defined (ACE_WIN32) - ACE_DEBUG ((LM_DEBUG, - "\nTesting WFMO Reactor\n\n")); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Testing WFMO Reactor\n"))); ACE_WFMO_Reactor wfmo_reactor_impl; ACE_Reactor wfmo_reactor (&wfmo_reactor_impl); -- cgit v1.2.1