Rob Shearman : rpcrt4: Reduce the timeout of waiting on the stop event in the server test to one second .

Alexandre Julliard julliard at winehq.org
Wed Jun 18 12:54:17 CDT 2008


Module: wine
Branch: master
Commit: fd8cb3f9c25d13428e1ff65c65b54b3cc0e84342
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fd8cb3f9c25d13428e1ff65c65b54b3cc0e84342

Author: Rob Shearman <robertshearman at gmail.com>
Date:   Sat Jun 14 16:42:32 2008 +0100

rpcrt4: Reduce the timeout of waiting on the stop event in the server test to one second.

The stop event should already be signaled by the time we get to that
point since we wait until the child processes terminate in the server
process and the stop event is signaled in the context of one of the
child processes.

Don't call RpcMgmtWaitServerListening if the call to
WaitForSingleObject failed since it is likely that s_stop() hasn't
been called and therefore the call to RpcMgmtWaitServerListening won't
ever return.

---

 dlls/rpcrt4/tests/server.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/dlls/rpcrt4/tests/server.c b/dlls/rpcrt4/tests/server.c
index 5f6da37..6c0527f 100644
--- a/dlls/rpcrt4/tests/server.c
+++ b/dlls/rpcrt4/tests/server.c
@@ -1242,6 +1242,7 @@ server(void)
   RPC_STATUS status, iptcp_status, np_status;
   RPC_STATUS (RPC_ENTRY *pRpcServerRegisterIfEx)(RPC_IF_HANDLE,UUID*,
     RPC_MGR_EPV*, unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
+  DWORD ret;
 
   iptcp_status = RpcServerUseProtseqEp(iptcp, 20, port, NULL);
   ok(iptcp_status == RPC_S_OK, "RpcServerUseProtseqEp(ncacn_ip_tcp) failed with status %ld\n", iptcp_status);
@@ -1278,10 +1279,16 @@ server(void)
     return;
   }
 
-  ok(WAIT_OBJECT_0 == WaitForSingleObject(stop_event, 60000), "WaitForSingleObject\n");
-  status = RpcMgmtWaitServerListen();
-  todo_wine {
-    ok(status == RPC_S_OK, "RpcMgmtWaitServerListening failed with status %ld\n", status);
+  ret = WaitForSingleObject(stop_event, 1000);
+  ok(WAIT_OBJECT_0 == ret, "WaitForSingleObject\n");
+  /* if the stop event didn't fire then RpcMgmtWaitServerListen will wait
+   * forever, so don't bother calling it in this case */
+  if (ret == WAIT_OBJECT_0)
+  {
+    status = RpcMgmtWaitServerListen();
+    todo_wine {
+      ok(status == RPC_S_OK, "RpcMgmtWaitServerListening failed with status %ld\n", status);
+    }
   }
 }
 




More information about the wine-cvs mailing list