diff options
Diffstat (limited to 'libports')
-rw-r--r-- | libports/interrupt-rpcs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libports/interrupt-rpcs.c b/libports/interrupt-rpcs.c index 0be2ffbe..98fad8be 100644 --- a/libports/interrupt-rpcs.c +++ b/libports/interrupt-rpcs.c @@ -27,11 +27,13 @@ ports_interrupt_rpc (void *portstruct) { struct port_info *pi = portstruct; struct rpc_info *rpc; + mach_port_t self = mach_thread_self (); mutex_lock (&_ports_lock); for (rpc = pi->current_rpcs; rpc; rpc = rpc->next) - hurd_thread_cancel (rpc->thread); + if (rpc->thread != mach_thread_self ()) + hurd_thread_cancel (rpc->thread); mutex_unlock (&_ports_lock); } |