diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2016-02-08 12:51:36 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2016-02-08 12:51:36 +0100 |
commit | 39be60b6c9295498ed119a0a8385a5942959db5c (patch) | |
tree | 013056a96023c442217fd4f801af08c4140f5e6f /debian/patches/introspection0006-libpager-annotate-objects-managed-by-libports.patch | |
parent | 83af5605f5f967bcdff930739607f07b60cddbeb (diff) |
add patch series
Diffstat (limited to 'debian/patches/introspection0006-libpager-annotate-objects-managed-by-libports.patch')
-rw-r--r-- | debian/patches/introspection0006-libpager-annotate-objects-managed-by-libports.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/debian/patches/introspection0006-libpager-annotate-objects-managed-by-libports.patch b/debian/patches/introspection0006-libpager-annotate-objects-managed-by-libports.patch new file mode 100644 index 00000000..b112d9b4 --- /dev/null +++ b/debian/patches/introspection0006-libpager-annotate-objects-managed-by-libports.patch @@ -0,0 +1,61 @@ +From 1aa407f9f602a1975822791b3afa84b6708f98b4 Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Wed, 21 May 2014 18:33:14 +0200 +Subject: [PATCH hurd 6/9] libpager: annotate objects managed by libports + +Label _pager_class and provide a function which prints a +human-readable description of a pager object. + +* libpager/pager-create.c (format_debug_info): New function. +(create_class): Label _pager_class. +--- + libpager/pager-create.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/libpager/pager-create.c b/libpager/pager-create.c +index b583f02..422e8f4 100644 +--- a/libpager/pager-create.c ++++ b/libpager/pager-create.c +@@ -15,6 +15,8 @@ + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + ++#include <stdio.h> ++ + #include "priv.h" + + /* Create and return a new pager with user info UPI. */ +@@ -50,6 +52,23 @@ pager_create (struct user_pager_info *upi, + return p; + } + ++/* Provide a human-readable description of the given pager object. */ ++static error_t ++format_debug_info (const void *port, char *buffer, size_t size) ++{ ++ const struct pager *pager = port; ++ const struct port_info *pi = port; ++ ++ snprintf (buffer, size, ++ "bucket: %s, class: %s, may_cache: %d", ++ pi->bucket->label, ++ pi->class->label, ++ /* XXX I have no idea what might be interesting to print ++ here, but it is straight forward to add stuff. */ ++ pager->may_cache); ++ ++ return 0; ++} + + /* This causes the function to be run at startup by compiler magic. */ + static void create_class (void) __attribute__ ((constructor)); +@@ -58,5 +77,6 @@ static void + create_class () + { + _pager_class = ports_create_class (_pager_clean, _pager_real_dropweak); ++ ports_label_class (_pager_class, "_pager_class", format_debug_info); + (void) &create_class; /* Avoid warning */ + } +-- +2.1.4 + |