diff options
author | Miles Bader <miles@gnu.org> | 1996-01-19 00:34:09 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 1996-01-19 00:34:09 +0000 |
commit | 549149a2df67ab632a5f358f7dea4bba0537c84f (patch) | |
tree | 0ca1132218daa5d90b54518642621f88d7306ae3 | |
parent | eb5616108ddc7fed7da94c9caf935c06b1106f2f (diff) |
(ports_no_senders):
Interrupt RPCs on PI too.
Only do the ports_interrupt_notified_rpcs() if we're actually losing a ref.
-rw-r--r-- | libports/no-senders.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libports/no-senders.c b/libports/no-senders.c index fb9ccbb2..9430c3e0 100644 --- a/libports/no-senders.c +++ b/libports/no-senders.c @@ -29,9 +29,6 @@ ports_no_senders (void *portstruct, struct port_info *pi = portstruct; int dealloc; mach_port_t old; - - ports_interrupt_notified_rpcs (portstruct, pi->port_right, - MACH_NOTIFY_NO_SENDERS); mutex_lock (&_ports_lock); if ((pi->flags & PORT_HAS_SENDRIGHTS) == 0) @@ -60,5 +57,10 @@ ports_no_senders (void *portstruct, mutex_unlock (&_ports_lock); if (dealloc) - ports_port_deref (pi); + { + ports_interrupt_notified_rpcs (portstruct, pi->port_right, + MACH_NOTIFY_NO_SENDERS); + ports_interrupt_rpc (pi); + ports_port_deref (pi); + } } |