summaryrefslogtreecommitdiff
path: root/libports
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1995-08-24 19:34:25 +0000
committerMichael I. Bushnell <mib@gnu.org>1995-08-24 19:34:25 +0000
commita2fb1c0f0b25b608d20d7b5f67cddb4d7e4a9798 (patch)
tree69413d54eec8c6f5c5feccd9ede1be5f1980dab1 /libports
parentff72eae15f5489e0b12658f68ac79158f5060d60 (diff)
(ports_interrupt_rpc): Don't attempt to cancel ourselves.
Diffstat (limited to 'libports')
-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);
}