From 7f5ec1e011977209a402d2a31b0b968cde3e556c Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 10 Nov 1995 18:28:21 +0000 Subject: [PATCH] (_hurd_exec): If exec'ing self, pass _hurd_msgport to be destroyed. --- hurd/hurdexec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hurd/hurdexec.c b/hurd/hurdexec.c index 0ac18e42da..149e95ccec 100644 --- a/hurd/hurdexec.c +++ b/hurd/hurdexec.c @@ -30,7 +30,7 @@ Cambridge, MA 02139, USA. */ If TASK == mach_task_self (), some ports are dealloc'd by the exec server. ARGV and ENVP are terminated by NULL pointers. */ error_t -_hurd_exec (task_t task, file_t file, +_hurd_exec (task_t task, file_t file, char *const argv[], char *const envp[]) { error_t err; @@ -129,7 +129,7 @@ _hurd_exec (task_t task, file_t file, in the exec, or the signal will never be delivered. Setting the critical section flag avoids anything we call trying to acquire the sigstate lock. */ - + ss->critical_section = 1; __spin_unlock (&ss->lock); @@ -224,7 +224,7 @@ _hurd_exec (task_t task, file_t file, ports, MACH_MSG_TYPE_COPY_SEND, _hurd_nports, ints, INIT_INT_MAX, please_dealloc, pdp - please_dealloc, - NULL, 0); + &_hurd_msgport, task == __mach_task_self () ? 1 : 0); } /* Release references to the standard ports. */ -- 2.11.4.GIT