From: Bruno Haible Date: Wed, 26 Jan 2011 01:11:18 +0000 (+0100) Subject: get-rusage-as: Allow for easier testing. X-Git-Tag: v0.1~3293 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=12a15f55d18d8f843df5d01682ead2eb0bb2c812;p=gnulib.git get-rusage-as: Allow for easier testing. * lib/resource-ext.h (get_rusage_as): Add comment. * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always. (main): New function for interactive testing. --- diff --git a/ChangeLog b/ChangeLog index b5fb64482..33b303842 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2011-01-25 Bruno Haible + get-rusage-as: Allow for easier testing. + * lib/resource-ext.h (get_rusage_as): Add comment. + * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always. + (main): New function for interactive testing. + +2011-01-25 Bruno Haible + vma-iter: Treat Haiku like BeOS. * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well. * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API. diff --git a/lib/get-rusage-as.c b/lib/get-rusage-as.c index 41363c547..46f1f212c 100644 --- a/lib/get-rusage-as.c +++ b/lib/get-rusage-as.c @@ -308,6 +308,14 @@ get_rusage_as_via_setrlimit (void) return result; } +#else + +static inline uintptr_t +get_rusage_as_via_setrlimit (void) +{ + return 0; +} + #endif @@ -364,3 +372,31 @@ get_rusage_as (void) return get_rusage_as_via_iterator (); #endif } + + +#ifdef TEST + +#include + +int +main () +{ + printf ("Initially: 0x%08lX 0x%08lX 0x%08lX\n", + get_rusage_as_via_setrlimit (), get_rusage_as_via_iterator (), + get_rusage_as ()); + malloc (0x88); + printf ("After small malloc: 0x%08lX 0x%08lX 0x%08lX\n", + get_rusage_as_via_setrlimit (), get_rusage_as_via_iterator (), + get_rusage_as ()); + malloc (0x8812); + printf ("After medium malloc: 0x%08lX 0x%08lX 0x%08lX\n", + get_rusage_as_via_setrlimit (), get_rusage_as_via_iterator (), + get_rusage_as ()); + malloc (0x281237); + printf ("After large malloc: 0x%08lX 0x%08lX 0x%08lX\n", + get_rusage_as_via_setrlimit (), get_rusage_as_via_iterator (), + get_rusage_as ()); + return 0; +} + +#endif /* TEST */ diff --git a/lib/resource-ext.h b/lib/resource-ext.h index 95e1f7dfd..e7dcc6f22 100644 --- a/lib/resource-ext.h +++ b/lib/resource-ext.h @@ -27,7 +27,8 @@ extern "C" { /* Returns the amount of address space currently in use by the current process, or zero if unknown. - This is the quantity which is limited by setrlimit(RLIMIT_AS,...). */ + This is the quantity which is limited by setrlimit(RLIMIT_AS,...). + Note: This function always returns zero on OpenBSD and AIX. */ extern uintptr_t get_rusage_as (void);