diff options
-rw-r--r-- | hurd/process.defs | 6 | ||||
-rw-r--r-- | hurd/process_reply.defs | 6 | ||||
-rw-r--r-- | proc/info.c | 8 | ||||
-rw-r--r-- | proc/msg.c | 6 |
4 files changed, 16 insertions, 10 deletions
diff --git a/hurd/process.defs b/hurd/process.defs index 4ceb69e2..df70eb9a 100644 --- a/hurd/process.defs +++ b/hurd/process.defs @@ -156,7 +156,7 @@ routine proc_getmsgport ( process: process_t; sreplyport reply_port: sreply_port_t; pid: pid_t; - out msgport: mach_port_t); + out msgport: mach_port_poly_t); /* Wait for a child process to exit. If pid is zero, it waits for any child in the same pgrp as the parent. If pid is -1, it waits for @@ -246,7 +246,7 @@ routine proc_task2pid ( routine proc_task2proc ( process: process_t; task: task_t; - out proc: mach_port_make_send_t); + out proc: mach_port_poly_t); routine proc_proc2task ( process: process_t; @@ -255,7 +255,7 @@ routine proc_proc2task ( routine proc_pid2proc ( process: process_t; pid: pid_t; - out proc: mach_port_make_send_t); + out proc: mach_port_poly_t); routine proc_getprocinfo ( process: process_t; diff --git a/hurd/process_reply.defs b/hurd/process_reply.defs index 15282fea..2fc21c92 100644 --- a/hurd/process_reply.defs +++ b/hurd/process_reply.defs @@ -51,7 +51,7 @@ skip; /* get_arg_locations */ simpleroutine proc_getmsgport_reply ( reply_port: reply_port_t; RETURN_CODE_ARG; - in msgports: mach_port_t); + in msgports: mach_port_poly_t); simpleroutine proc_wait_reply ( reply_port: reply_port_t; @@ -83,7 +83,7 @@ simpleroutine proc_task2pid_reply ( simpleroutine proc_task2proc_reply ( reply_port: reply_port_t; RETURN_CODE_ARG; - proc: mach_port_make_send_t); + proc: mach_port_poly_t); simpleroutine proc_proc2task_reply ( reply_port: reply_port_t; @@ -93,7 +93,7 @@ simpleroutine proc_proc2task_reply ( simpleroutine proc_pid2proc_reply ( reply_port: reply_port_t; RETURN_CODE_ARG; - proc: mach_port_make_send_t); + proc: mach_port_poly_t); simpleroutine proc_getprocinfo_reply ( reply_port: reply_port_t; diff --git a/proc/info.c b/proc/info.c index 0f5ca0f8..97321408 100644 --- a/proc/info.c +++ b/proc/info.c @@ -99,7 +99,8 @@ S_proc_task2pid (struct proc *callerp, kern_return_t S_proc_task2proc (struct proc *callerp, task_t t, - mach_port_t *outproc) + mach_port_t *outproc, + mach_msg_type_name_t *outproc_type) { struct proc *p = task_find (t); @@ -109,6 +110,7 @@ S_proc_task2proc (struct proc *callerp, return ESRCH; *outproc = ports_get_right (p); + *outproc_type = MACH_MSG_TYPE_MAKE_SEND; mach_port_deallocate (mach_task_self (), t); return 0; } @@ -128,7 +130,8 @@ S_proc_proc2task (struct proc *p, kern_return_t S_proc_pid2proc (struct proc *callerp, pid_t pid, - mach_port_t *outproc) + mach_port_t *outproc, + mach_msg_type_name_t *outproc_type) { struct proc *p; @@ -149,6 +152,7 @@ S_proc_pid2proc (struct proc *callerp, return EPERM; *outproc = ports_get_right (p); + *outproc_type = MACH_MSG_TYPE_MAKE_SEND; return 0; } @@ -126,7 +126,8 @@ S_proc_getmsgport (struct proc *callerp, mach_port_t reply_port, mach_msg_type_name_t reply_port_type, pid_t pid, - mach_port_t *msgport) + mach_port_t *msgport, + mach_msg_type_name_t *msgport_type) { int cancel; struct proc *p; @@ -156,7 +157,8 @@ restart: if (check_msgport_death (p)) goto restart; - + + *msgport_type = MACH_MSG_TYPE_COPY_SEND; *msgport = p->p_msgport; return 0; |