diff options
author | otto <> | 2017-03-24 16:23:05 +0000 |
---|---|---|
committer | otto <> | 2017-03-24 16:23:05 +0000 |
commit | 9da87d2ce846e80f6be041f3d473143490c1c4e3 (patch) | |
tree | 648db9caf66b438e272576b59bb1c8dc452b4d32 /src/lib | |
parent | 982e89f9fe80ddc79729b97809ebe5c528291a6c (diff) | |
download | openbsd-9da87d2ce846e80f6be041f3d473143490c1c4e3.tar.gz openbsd-9da87d2ce846e80f6be041f3d473143490c1c4e3.tar.bz2 openbsd-9da87d2ce846e80f6be041f3d473143490c1c4e3.zip |
add a helper function to print all pools #ifdef MALLOC_STATS
from David CARLIER
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libc/stdlib/malloc.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c index c67607e8fe..688354f1e0 100644 --- a/src/lib/libc/stdlib/malloc.c +++ b/src/lib/libc/stdlib/malloc.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: malloc.c,v 1.216 2017/03/24 16:15:31 otto Exp $ */ | 1 | /* $OpenBSD: malloc.c,v 1.217 2017/03/24 16:23:05 otto Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net> | 3 | * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net> |
4 | * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> | 4 | * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> |
@@ -211,6 +211,8 @@ static void fill_canary(char *ptr, size_t sz, size_t allocated); | |||
211 | #ifdef MALLOC_STATS | 211 | #ifdef MALLOC_STATS |
212 | void malloc_dump(int, int, struct dir_info *); | 212 | void malloc_dump(int, int, struct dir_info *); |
213 | PROTO_NORMAL(malloc_dump); | 213 | PROTO_NORMAL(malloc_dump); |
214 | void malloc_gdump(int); | ||
215 | PROTO_NORMAL(malloc_gdump); | ||
214 | static void malloc_exit(void); | 216 | static void malloc_exit(void); |
215 | #define CALLER __builtin_return_address(0) | 217 | #define CALLER __builtin_return_address(0) |
216 | #else | 218 | #else |
@@ -2244,6 +2246,19 @@ malloc_dump(int fd, int poolno, struct dir_info *pool) | |||
2244 | } | 2246 | } |
2245 | DEF_WEAK(malloc_dump); | 2247 | DEF_WEAK(malloc_dump); |
2246 | 2248 | ||
2249 | void | ||
2250 | malloc_gdump(int fd) | ||
2251 | { | ||
2252 | int i; | ||
2253 | int saved_errno = errno; | ||
2254 | |||
2255 | for (i = 0; i < _MALLOC_MUTEXES; i++) | ||
2256 | malloc_dump(fd, i, mopts.malloc_pool[i]); | ||
2257 | |||
2258 | errno = saved_errno; | ||
2259 | } | ||
2260 | DEF_WEAK(malloc_gdump); | ||
2261 | |||
2247 | static void | 2262 | static void |
2248 | malloc_exit(void) | 2263 | malloc_exit(void) |
2249 | { | 2264 | { |