summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-03 02:56:27 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-03 02:56:27 +0000
commit0456d2d98ddca5bdc8efea9df7748c59d13edf0c (patch)
tree16bb5dbc6d2c6a1491cccc1962ff28ad198525c6 /tests
parentd07165db703437eeaa54261716924229ea4519ef (diff)
downloadATCD-0456d2d98ddca5bdc8efea9df7748c59d13edf0c.tar.gz
Changed to use message length to separate requests.
Diffstat (limited to 'tests')
-rw-r--r--tests/Thread_Pool_Reactor_Test.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/tests/Thread_Pool_Reactor_Test.cpp b/tests/Thread_Pool_Reactor_Test.cpp
index 8f8a30cca2d..e7686e46a87 100644
--- a/tests/Thread_Pool_Reactor_Test.cpp
+++ b/tests/Thread_Pool_Reactor_Test.cpp
@@ -129,14 +129,14 @@ int
Acceptor_Handler::handle_input (ACE_HANDLE fd)
{
ASYS_TCHAR buffer[BUFSIZ];
- int result = this->peer ().recv (buffer, BUFSIZ * sizeof (ASYS_TCHAR));
+ ASYS_TCHAR len = 0;
+ int result = this->peer ().recv (&len, sizeof (ASYS_TCHAR));
- if (result > 0)
+ if (result > 0 && this->peer ().recv_n (buffer, len) == len)
{
ACE_DEBUG ((LM_DEBUG,
ASYS_TEXT ("(%t) Acceptor_Handler::handle_input (fd = %x)\n"),
fd));
- buffer[result] = '\0';
ACE_DEBUG ((LM_DEBUG,
ASYS_TEXT ("(%t) handle_input: input is %s\n"),
buffer));
@@ -187,13 +187,14 @@ svr_worker (void *)
}
void *
-cli_worker (void *)
+cli_worker (void *arg)
{
// Client thread function.
ACE_INET_Addr addr (rendezvous);
ACE_SOCK_Stream stream;
ACE_SOCK_Connector connect;
ACE_Time_Value delay (0, req_delay);
+ size_t len = * (ASYS_TCHAR*) arg;
for (size_t i = 0 ; i < cli_conn_no; i++)
{
@@ -205,15 +206,13 @@ cli_worker (void *)
continue;
}
- ASYS_TCHAR *buf = ASYS_TEXT ("Message from Connection worker\n");
-
for (size_t j = 0; j < cli_req_no; j++)
{
ACE_DEBUG ((LM_DEBUG,
ASYS_TEXT ("(%t) conn_worker stream handle = %x\n"),
stream.get_handle ()));
- stream.send_n (buf,
- (ACE_OS::strlen (buf) + 1) * sizeof (ASYS_TCHAR));
+ stream.send_n (arg,
+ len + sizeof (ASYS_TCHAR));
ACE_OS::sleep (delay);
}
@@ -227,12 +226,16 @@ void *
worker (void *)
{
ACE_OS::sleep (3);
+ ASYS_TCHAR *msg = ASYS_TEXT ("Message from Connection worker\n");
+ ASYS_TCHAR buf [BUFSIZ];
+ buf[0] = (ACE_OS::strlen (msg) + 1) * sizeof (ASYS_TCHAR);
+ ACE_OS::strcpy (&buf[1], msg);
ACE_INET_Addr addr (rendezvous);
int grp = ACE_Thread_Manager::instance ()->spawn_n (cli_thrno,
&cli_worker,
- &addr);
+ buf);
ACE_ASSERT (grp != -1);
ACE_Thread_Manager::instance ()->wait_grp (grp);
@@ -248,12 +251,12 @@ worker (void *)
ASYS_TEXT ("%p Error while connecting\n"),
ASYS_TEXT ("connect")));
- char *buf = "shutdown";
+ char *sbuf = "\011shutdown";
ACE_DEBUG ((LM_DEBUG,
ASYS_TEXT ("shutdown stream handle = %x\n"),
stream.get_handle ()));
- stream.send_n (buf, ACE_OS::strlen (buf) + 1);
+ stream.send_n (sbuf, ACE_OS::strlen (sbuf) + 1);
stream.close ();
return 0;