summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libports/interrupt-rpcs.c4
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);
}