summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--proc/main.c8
-rw-r--r--proc/msg.c6
2 files changed, 9 insertions, 5 deletions
diff --git a/proc/main.c b/proc/main.c
index aa1c0c30..f2cdfdf5 100644
--- a/proc/main.c
+++ b/proc/main.c
@@ -1,5 +1,5 @@
/* Initialization of the proc server
- Copyright (C) 1993,94,95,96,97,99,2000 Free Software Foundation, Inc.
+ Copyright (C) 1993,94,95,96,97,99,2000,01 Free Software Foundation, Inc.
This file is part of the GNU Hurd.
@@ -85,6 +85,8 @@ main (int argc, char **argv, char **envp)
/* Create our own proc object (we are PID 0). */
self_proc = allocate_proc (mach_task_self ());
+ assert (self_proc);
+
complete_proc (self_proc, 0);
startup_port = ports_get_send_right (startup_proc);
@@ -101,8 +103,8 @@ main (int argc, char **argv, char **envp)
add_proc_to_hash (startup_proc); /* Now that we have the task port. */
/* Set our own argv and envp locations. */
- self_proc->p_argv = (int) argv;
- self_proc->p_envp = (int) envp;
+ self_proc->p_argv = (vm_address_t) argv;
+ self_proc->p_envp = (vm_address_t) envp;
/* Give ourselves good scheduling performance, because we are so
important. */
diff --git a/proc/msg.c b/proc/msg.c
index b8413e3b..ff1dbc54 100644
--- a/proc/msg.c
+++ b/proc/msg.c
@@ -1,5 +1,5 @@
/* Message port manipulations
- Copyright (C) 1994, 1995, 1996, 1999 Free Software Foundation
+ Copyright (C) 1994, 1995, 1996, 1999, 2001 Free Software Foundation
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -116,11 +116,13 @@ S_proc_getmsgport (struct proc *callerp,
mach_port_t *msgport)
{
int cancel;
- struct proc *p = pid_find_allow_zombie (pid);
+ struct proc *p;
if (!callerp)
return EOPNOTSUPP;
+ p = pid_find_allow_zombie (pid);
+
restart:
while (p && p->p_deadmsg && !p->p_dead)
{