summaryrefslogtreecommitdiff
path: root/proc
diff options
context:
space:
mode:
Diffstat (limited to 'proc')
-rw-r--r--proc/ChangeLog10
-rw-r--r--proc/mgt.c10
2 files changed, 11 insertions, 9 deletions
diff --git a/proc/ChangeLog b/proc/ChangeLog
index 772abb05..94c9acbd 100644
--- a/proc/ChangeLog
+++ b/proc/ChangeLog
@@ -1,3 +1,13 @@
+Tue Mar 9 13:11:43 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * mgt.c (S_proc_reassign): It's not necessary to re-request the
+ task-death notification; we've moved both the task right and the
+ proc port that gets the notification, so delete that.
+
+ * mgt.c (S_proc_reassign): Use mach_port_destroy instead of
+ mach_port_deallocate to release P->p_msgport, for the same reasons
+ as the changes below.
+
Sun Mar 7 18:19:07 1999 Thomas Bushnell, BSG <tb@mit.edu>
* mgt.c (process_has_exited): Use mach_port_destroy instead of
diff --git a/proc/mgt.c b/proc/mgt.c
index 4a8aa510..f97c3984 100644
--- a/proc/mgt.c
+++ b/proc/mgt.c
@@ -225,19 +225,11 @@ S_proc_reassign (struct proc *p,
/* For security, we need use the request port from STUBP */
ports_transfer_right (p, stubp);
- /* Redirect the task-death notification to the new receive right. */
- mach_port_request_notification (mach_task_self (), p->p_task,
- MACH_NOTIFY_DEAD_NAME, 1,
- p->p_pi.port_right,
- MACH_MSG_TYPE_MAKE_SEND_ONCE, &foo);
- if (foo)
- mach_port_deallocate (mach_task_self (), foo);
-
/* Enqueued messages might refer to the old task port, so
destroy them. */
if (p->p_msgport != MACH_PORT_NULL)
{
- mach_port_deallocate (mach_task_self (), p->p_msgport);
+ mach_port_destroy (mach_task_self (), p->p_msgport);
p->p_msgport = MACH_PORT_NULL;
p->p_deadmsg = 1;
}