From e8b08b2719b30c513da3ab7f9e76a6d1c420ea70 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Fri, 19 Jul 1996 22:25:40 +0000 Subject: *** empty log message *** --- proc/ChangeLog | 5 +++++ proc/msg.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/proc/ChangeLog b/proc/ChangeLog index a0285944..e3f02daf 100644 --- a/proc/ChangeLog +++ b/proc/ChangeLog @@ -1,3 +1,8 @@ +Fri Jul 19 18:22:46 1996 Michael I. Bushnell, p/BSG + + * msg.c (S_proc_setmsgport): Bother to request DEAD_NAME + notification on new message port being installed. + Thu Jul 18 13:23:51 1996 Michael I. Bushnell, p/BSG * msg.c (S_proc_setmsgport): Use MOVE_SEND, not COPY_SEND, to diff --git a/proc/msg.c b/proc/msg.c index 701fa149..be40e1f5 100644 --- a/proc/msg.c +++ b/proc/msg.c @@ -50,6 +50,7 @@ S_proc_setmsgport (struct proc *p, mach_port_t *oldmsgport, mach_msg_type_name_t *oldmsgport_type) { + mach_port_t foo; if (!p) return EOPNOTSUPP; @@ -62,6 +63,12 @@ S_proc_setmsgport (struct proc *p, prociterate (check_message_return, p); p->p_checkmsghangs = 0; + mach_port_request_notification (mach_task_self (), msgport, + 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); + if (p == startup_proc) /* Init is single threaded, so we can't delay our reply for the essential task RPC; spawn a thread to do it. */ -- cgit v1.2.3