summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libc/stdlib/malloc.c17
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
212void malloc_dump(int, int, struct dir_info *); 212void malloc_dump(int, int, struct dir_info *);
213PROTO_NORMAL(malloc_dump); 213PROTO_NORMAL(malloc_dump);
214void malloc_gdump(int);
215PROTO_NORMAL(malloc_gdump);
214static void malloc_exit(void); 216static 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}
2245DEF_WEAK(malloc_dump); 2247DEF_WEAK(malloc_dump);
2246 2248
2249void
2250malloc_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}
2260DEF_WEAK(malloc_gdump);
2261
2247static void 2262static void
2248malloc_exit(void) 2263malloc_exit(void)
2249{ 2264{