(_hurd_setup_sighandler): In rpc_wait case, frob mach_msg args to set

timeout on receive.
This commit is contained in:
Roland McGrath 1995-08-14 22:17:20 +00:00
parent bdaaafad70
commit 4003d88d7b

View 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. */ calls we retry need only wait to receive the reply message. */
args->option &= ~MACH_SEND_MSG; 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.pc = (int) &&rpc_wait_trampoline;
state->basic.r29 = (int) sigsp; /* $29 is the stack pointer register. */ state->basic.r29 = (int) sigsp; /* $29 is the stack pointer register. */
/* After doing the message receive, the trampoline code will need to /* After doing the message receive, the trampoline code will need to