mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-15 17:40:06 +00:00
(_hurdsig_rcv_interrupted_p): Function removed.
This commit is contained in:
parent
0bbcc46900
commit
bdaaafad70
@ -227,34 +227,3 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* STATE describes a thread that had intr_port set (meaning it was inside
|
||||
HURD_EINTR_RPC), after it has been thread_abort'd. It it looks to have
|
||||
just completed a mach_msg_trap system call that returned
|
||||
MACH_RCV_INTERRUPTED, return nonzero and set *PORT to the receive right
|
||||
being waited on. */
|
||||
int
|
||||
_hurdsig_rcv_interrupted_p (struct machine_thread_all_state *state,
|
||||
mach_port_t *port)
|
||||
{
|
||||
const unsigned int *const pc = (void *) state->basic.pc;
|
||||
|
||||
if (_hurdsig_catch_fault (SIGSEGV))
|
||||
assert (_hurdsig_fault_sigcode == (long int) pc);
|
||||
else
|
||||
{
|
||||
if (state->basic.r2 == MACH_RCV_INTERRUPTED &&
|
||||
pc[-1] == 0xc) /* syscall */
|
||||
{
|
||||
/* We did just return from a mach_msg_trap system call
|
||||
doing a message receive that was interrupted.
|
||||
Examine the parameters to find the receive right. */
|
||||
struct mach_msg_trap_args *args = (void *) &state->basic.r4;
|
||||
|
||||
*port = args->rcv_name;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user