summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init/ChangeLog5
-rw-r--r--init/init.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/init/ChangeLog b/init/ChangeLog
index 3c077cd6..f95a1fad 100644
--- a/init/ChangeLog
+++ b/init/ChangeLog
@@ -1,3 +1,8 @@
+Sat Mar 6 17:13:48 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * init.c (do_mach_notify_dead_name): Deallocate the extra
+ reference to NAME that the notification carries.
+
Tue Feb 16 18:54:33 1999 Thomas Bushnell, BSG <tb@mit.edu>
* init.c (shutdown_terminal): Revoke access to the terminal from
diff --git a/init/init.c b/init/init.c
index 133d44f1..7d2c3111 100644
--- a/init/init.c
+++ b/init/init.c
@@ -1583,6 +1583,9 @@ do_mach_notify_dead_name (mach_port_t notify,
struct ntfy_task *nt, *pnt;
struct ess_task *et;
+ /* Deallocate the extra reference the notification carries. */
+ mach_port_deallocate (mach_task_self (), name);
+
for (et = ess_tasks; et != NULL; et = et->next)
if (et->task_port == name)
/* An essential task has died. */
@@ -1601,8 +1604,10 @@ do_mach_notify_dead_name (mach_port_t notify,
else
ntfy_tasks = nt->next;
free (nt);
+
return 0;
}
+
return 0;
}