diff options
author | Jeremie Koenig <jk@jk.fr.eu.org> | 2010-08-22 20:46:54 +0000 |
---|---|---|
committer | Jeremie Koenig <jk@jk.fr.eu.org> | 2010-08-30 14:29:51 +0200 |
commit | 5714e1cef2584410a7823c7ead9d2435141fb0c4 (patch) | |
tree | 49579f8c7a427ca770f3a4b99df081c9233f58f6 /process.c | |
parent | b3427143ae8dc628cb3748da7618700c6bd7ac9e (diff) | |
download | hurd-5714e1cef2584410a7823c7ead9d2435141fb0c4.tar.gz hurd-5714e1cef2584410a7823c7ead9d2435141fb0c4.tar.bz2 hurd-5714e1cef2584410a7823c7ead9d2435141fb0c4.zip |
Add --stat-mode to override the perms for [pid]/stat
* main.c (argp_parser, main): Add the --stat-mode option.
* process.c (process_lookup_pid): Use it.
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -206,6 +206,7 @@ static struct procfs_dir_entry entries[] = { }, }, { + /* Beware of the hack below, which requires this to be entries[2]. */ .name = "stat", .make_node = process_file_make_node, .hook = & (struct process_file_desc) { @@ -235,6 +236,10 @@ process_lookup_pid (struct ps_context *pc, pid_t pid, struct node **np) if (err || ! (proc_stat_flags (ps) & PSTAT_OWNER_UID)) return EIO; + /* FIXME: have a separate proc_desc structure for each file, so this can be + accessed in a more robust and straightforward way. */ + ((struct process_file_desc *) entries[2].hook)->mode = opt_stat_mode; + *np = procfs_dir_make_node (entries, ps, (void (*)(void *)) _proc_stat_free); if (! *np) return ENOMEM; |