summaryrefslogtreecommitdiff
path: root/procfs.h
diff options
context:
space:
mode:
authorJeremie Koenig <jk@jk.fr.eu.org>2010-08-18 20:44:54 +0000
committerJeremie Koenig <jk@jk.fr.eu.org>2010-08-30 14:14:49 +0200
commit56d301e212ac1964223cff8ef9c34889cb1a6e75 (patch)
tree49d27b7945c840205ef0a906fd7cc3cb25697020 /procfs.h
parent2fb5b93b4cd56fd68b525371ba63b0933b61d03a (diff)
Fuse the proclist into the root node
* dircat.c, dircat.h: New files, merge directories. * Makefile: Add the dircat module. * main.c: Use dircat to merge the proclist into the root directory, instead of having it as a stand-alone one. * procfs.h, procfs.c: Add a "refresh hack" to have the contents of the root directory recreated on each request. * proclist.c (proclist_make_node): Enable the hack in question.
Diffstat (limited to 'procfs.h')
-rw-r--r--procfs.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/procfs.h b/procfs.h
index 3cb3223..b44db6e 100644
--- a/procfs.h
+++ b/procfs.h
@@ -27,6 +27,14 @@ struct procfs_node_ops
/* Destroy this node. */
void (*cleanup) (void *hook);
+
+ /* FIXME: This is needed because the root node is persistent, and we
+ want the list of processes to be updated. However, this means that
+ readdir() on the root node runs the risk of returning incoherent
+ results if done in multiple runs and processes are added/removed in
+ the meantime. The right way to fix this is probably to add a
+ getroot() user hook function to libnetfs. */
+ int enable_refresh_hack_and_break_readdir;
};
/* These helper functions can be used as procfs_node_ops.cleanup_contents. */