diff options
Diffstat (limited to 'debian/patches/procfs-0006-procfs-reorganize-rootdir.c.patch')
-rw-r--r-- | debian/patches/procfs-0006-procfs-reorganize-rootdir.c.patch | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/debian/patches/procfs-0006-procfs-reorganize-rootdir.c.patch b/debian/patches/procfs-0006-procfs-reorganize-rootdir.c.patch deleted file mode 100644 index 97aaf063..00000000 --- a/debian/patches/procfs-0006-procfs-reorganize-rootdir.c.patch +++ /dev/null @@ -1,187 +0,0 @@ -From b4eb19fb7f1935b51c0335dcd1f957b38299af69 Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Fri, 19 Sep 2014 10:10:24 +0200 -Subject: [PATCH 6/7] procfs: reorganize rootdir.c - -* procfs/rootdir.c: Move the translator linkage code to the -appropriate location. ---- - procfs/rootdir.c | 153 ++++++++++++++++++++++++++++--------------------------- - 1 file changed, 77 insertions(+), 76 deletions(-) - -diff --git a/procfs/rootdir.c b/procfs/rootdir.c -index a04fb3e..d68645e 100644 ---- a/procfs/rootdir.c -+++ b/procfs/rootdir.c -@@ -409,83 +409,7 @@ rootdir_gc_fakeself (void *hook, char **contents, ssize_t *contents_len) - } - - static struct node *rootdir_mounts_node; -- --/* Translator linkage. */ --static pthread_spinlock_t rootdir_translated_node_lock = -- PTHREAD_SPINLOCK_INITIALIZER; -- --struct procfs_translated_node_ops --{ -- struct procfs_node_ops node_ops; -- -- struct node **npp; -- char *argz; -- size_t argz_len; --}; -- --static struct node * --rootdir_make_translated_node (void *dir_hook, const void *entry_hook) --{ -- const struct procfs_translated_node_ops *ops = entry_hook; -- struct node *np, *prev; - -- pthread_spin_lock (&rootdir_translated_node_lock); -- np = *ops->npp; -- pthread_spin_unlock (&rootdir_translated_node_lock); -- -- if (np != NULL) -- { -- netfs_nref (np); -- return np; -- } -- -- np = procfs_make_node (entry_hook, entry_hook); -- if (np == NULL) -- return NULL; -- -- procfs_node_chtype (np, S_IFREG | S_IPTRANS); -- procfs_node_chmod (np, 0444); -- -- pthread_spin_lock (&rootdir_translated_node_lock); -- prev = *ops->npp; -- if (*ops->npp == NULL) -- *ops->npp = np; -- pthread_spin_unlock (&rootdir_translated_node_lock); -- -- if (prev != NULL) -- { -- procfs_cleanup (np); -- np = prev; -- } -- -- return np; --} -- --static error_t --rootdir_translated_node_get_translator (void *hook, char **argz, -- size_t *argz_len) --{ -- const struct procfs_translated_node_ops *ops = hook; -- -- *argz = malloc (ops->argz_len); -- if (! *argz) -- return ENOMEM; -- -- memcpy (*argz, ops->argz, ops->argz_len); -- *argz_len = ops->argz_len; -- return 0; --} -- --#define ROOTDIR_DEFINE_TRANSLATED_NODE(NPP, ARGZ) \ -- &(struct procfs_translated_node_ops) { \ -- .node_ops = { \ -- .get_translator = rootdir_translated_node_get_translator, \ -- }, \ -- .npp = NPP, \ -- .argz = (ARGZ), \ -- .argz_len = sizeof (ARGZ), \ -- } -- - static error_t - rootdir_gc_slabinfo (void *hook, char **contents, ssize_t *contents_len) - { -@@ -619,7 +543,84 @@ rootdir_symlink_make_node (void *dir_hook, const void *entry_hook) - procfs_node_chtype (np, S_IFLNK); - return np; - } -+ -+/* Translator linkage. */ -+ -+static pthread_spinlock_t rootdir_translated_node_lock = -+ PTHREAD_SPINLOCK_INITIALIZER; -+ -+struct procfs_translated_node_ops -+{ -+ struct procfs_node_ops node_ops; -+ -+ struct node **npp; -+ char *argz; -+ size_t argz_len; -+}; -+ -+static struct node * -+rootdir_make_translated_node (void *dir_hook, const void *entry_hook) -+{ -+ const struct procfs_translated_node_ops *ops = entry_hook; -+ struct node *np, *prev; -+ -+ pthread_spin_lock (&rootdir_translated_node_lock); -+ np = *ops->npp; -+ pthread_spin_unlock (&rootdir_translated_node_lock); -+ -+ if (np != NULL) -+ { -+ netfs_nref (np); -+ return np; -+ } -+ -+ np = procfs_make_node (entry_hook, entry_hook); -+ if (np == NULL) -+ return NULL; -+ -+ procfs_node_chtype (np, S_IFREG | S_IPTRANS); -+ procfs_node_chmod (np, 0444); -+ -+ pthread_spin_lock (&rootdir_translated_node_lock); -+ prev = *ops->npp; -+ if (*ops->npp == NULL) -+ *ops->npp = np; -+ pthread_spin_unlock (&rootdir_translated_node_lock); -+ -+ if (prev != NULL) -+ { -+ procfs_cleanup (np); -+ np = prev; -+ } -+ -+ return np; -+} -+ -+static error_t -+rootdir_translated_node_get_translator (void *hook, char **argz, -+ size_t *argz_len) -+{ -+ const struct procfs_translated_node_ops *ops = hook; - -+ *argz = malloc (ops->argz_len); -+ if (! *argz) -+ return ENOMEM; -+ -+ memcpy (*argz, ops->argz, ops->argz_len); -+ *argz_len = ops->argz_len; -+ return 0; -+} -+ -+#define ROOTDIR_DEFINE_TRANSLATED_NODE(NPP, ARGZ) \ -+ &(struct procfs_translated_node_ops) { \ -+ .node_ops = { \ -+ .get_translator = rootdir_translated_node_get_translator, \ -+ }, \ -+ .npp = NPP, \ -+ .argz = (ARGZ), \ -+ .argz_len = sizeof (ARGZ), \ -+ } -+ - static const struct procfs_dir_entry rootdir_entries[] = { - { - .name = "self", --- -2.1.0 - |