summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1999-03-06 22:18:34 +0000
committerThomas Bushnell <thomas@gnu.org>1999-03-06 22:18:34 +0000
commitea0650c4cf72dcfc6322c381effd9650b3890fd7 (patch)
treec22594747f05dd122d80fa41455ac72d59cf33ad
parent67ce225317bb58b710659999ffe84977cf6dffc4 (diff)
1999-03-06 Mark Kettenis <kettenis@gnu.org>
* notify.c (do_mach_notify_dead_name): Deallocate reference to DEADPORT.
-rw-r--r--proc/ChangeLog5
-rw-r--r--proc/notify.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/proc/ChangeLog b/proc/ChangeLog
index b2557054..4bb36d93 100644
--- a/proc/ChangeLog
+++ b/proc/ChangeLog
@@ -1,3 +1,8 @@
+1999-03-06 Mark Kettenis <kettenis@gnu.org>
+
+ * notify.c (do_mach_notify_dead_name): Deallocate reference to
+ DEADPORT.
+
Sat Feb 20 06:26:17 1999 Thomas Bushnell, BSG <tb@mit.edu>
* stubs.c (send_signal): Typo in comment.
diff --git a/proc/notify.c b/proc/notify.c
index 9d48d945..7ab8d56b 100644
--- a/proc/notify.c
+++ b/proc/notify.c
@@ -1,5 +1,5 @@
/* Handle notifications
- Copyright (C) 1992, 1993, 1994, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1996, 1999 Free Software Foundation, Inc.
This file is part of the GNU Hurd.
@@ -41,6 +41,9 @@ do_mach_notify_dead_name (mach_port_t notify,
{
struct proc *p;
+ /* Drop gratuitous extra reference that the notification creates. */
+ mach_port_deallocate (mach_task_self (), deadport);
+
if (notify == generic_port)
{
check_dead_execdata_notify (deadport);
@@ -50,7 +53,9 @@ do_mach_notify_dead_name (mach_port_t notify,
p = ports_lookup_port (proc_bucket, notify, proc_class);
if (!p)
- return EOPNOTSUPP;
+ {
+ return EOPNOTSUPP;
+ }
if (p->p_msgport == deadport)
{