diff options
Diffstat (limited to 'winsup/cygwin/malloc_wrapper.cc')
-rw-r--r-- | winsup/cygwin/malloc_wrapper.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/winsup/cygwin/malloc_wrapper.cc b/winsup/cygwin/malloc_wrapper.cc index bd671a6fc..14db2fd79 100644 --- a/winsup/cygwin/malloc_wrapper.cc +++ b/winsup/cygwin/malloc_wrapper.cc @@ -25,6 +25,8 @@ details. */ #include "sync.h" #include "perprocess.h" #include "cygmalloc.h" +#include <malloc.h> +extern "C" struct mallinfo dlmallinfo (); /* we provide these stubs to call into a user's provided malloc if there is one - otherwise @@ -276,6 +278,22 @@ malloc_stats () return; } +extern "C" struct mallinfo +mallinfo () +{ + struct mallinfo m; + if (!use_internal_malloc) + set_errno (ENOSYS); + else + { + __malloc_lock (); + m = dlmallinfo (); + __malloc_unlock (); + } + + return m; +} + extern "C" char * strdup (const char *s) { |