diff options
-rw-r--r-- | proc/ChangeLog | 10 | ||||
-rw-r--r-- | proc/mgt.c | 10 |
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 @@ -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; } |