diff options
author | antrik <antrik@users.sf.net> | 2009-06-20 12:29:06 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2010-09-18 20:34:20 +0200 |
commit | be9be179a2cde041fbe042362ee80f9874233953 (patch) | |
tree | 22ae322b09d7e6b81b6b984c235a1e865774f8e8 /hurd | |
parent | 7cecc5f97fb28126a7d930efe44d3a03a64ba272 (diff) |
Obtain number of ports in proc and libps
Add (and implement) a proc RPC to obtain the number of Mach ports used
by the target task.
Add infrastructure in libps to read this information.
* hurd/process.defs (proc_getnports): New RPC.
* hurd/process_request.defs (proc_getnports_request): New RPC.
* libps/procstat.c (proc_stat_set_flags): Call proc_getnports RPC if
needed.
* libps/ps.h (proc_stat): New `num_ports' field.
(PSTAT_NUM_PORTS): New macro.
(proc_stat_num_ports): New macro.
* libps/spec.c (ps_get_num_ports): New function.
(ps_num_ports_getter): New variable.
(specs): New entry for `ps_num_ports_getter'.
* proc/info.c (S_proc_getnports): New function.
Diffstat (limited to 'hurd')
-rw-r--r-- | hurd/process.defs | 8 | ||||
-rw-r--r-- | hurd/process_request.defs | 6 |
2 files changed, 13 insertions, 1 deletions
diff --git a/hurd/process.defs b/hurd/process.defs index a87cc421..43cc9f2a 100644 --- a/hurd/process.defs +++ b/hurd/process.defs @@ -356,7 +356,7 @@ routine proc_getpgrppids ( out pidset: pidarray_t, dealloc); -/*** Another miscelleneous info query ***/ +/*** Other miscelleneous info queries ***/ /* Return the controlling TTY used by PID in TTY; opened without read or write access. */ @@ -364,3 +364,9 @@ routine proc_get_tty ( calling_process: process_t; target_process: pid_t; out tty: mach_port_send_t); + +/* Return the number of Mach ports used by PID */ +routine proc_getnports ( + process: process_t; + which: pid_t; + out nports: mach_msg_type_number_t); diff --git a/hurd/process_request.defs b/hurd/process_request.defs index 8669e443..80a28282 100644 --- a/hurd/process_request.defs +++ b/hurd/process_request.defs @@ -365,3 +365,9 @@ simpleroutine proc_get_tty_request ( process: process_t; ureplyport reply: reply_port_t; pid: pid_t); + +/* Return the number of Mach ports used by PID */ +simpleroutine proc_getnports_request ( + process: process_t; + ureplyport reply: reply_port_t; + which: pid_t); |