(_hurd_setup_sighandler): In rpc_wait case, frob mach_msg args to set
authorRoland McGrath <roland@gnu.org>
Mon, 14 Aug 1995 22:17:20 +0000 (22:17 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 14 Aug 1995 22:17:20 +0000 (22:17 +0000)
timeout on receive.

sysdeps/mach/hurd/mips/trampoline.c

index ba3450e..03e3d1d 100644 (file)
@@ -150,6 +150,12 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
         calls we retry need only wait to receive the reply message.  */
       args->option &= ~MACH_SEND_MSG;
 
+      /* Limit the time to receive the reply message, in case the server
+        claimed that `interrupt_operation' succeeded but in fact the RPC
+        is hung.  */
+      args->option |= MACH_RCV_TIMEOUT;
+      args->timeout = _hurd_interrupted_rpc_timeout;
+
       state->basic.pc = (int) &&rpc_wait_trampoline;
       state->basic.r29 = (int) sigsp; /* $29 is the stack pointer register.  */
       /* After doing the message receive, the trampoline code will need to