From b5f74b134b9f2af4ecb930918da1328d0cd475cf Mon Sep 17 00:00:00 2001 From: Marc Alexander Lehmann Date: Tue, 19 Jun 2012 12:29:43 +0000 Subject: [PATCH] *** empty log message *** --- Changes | 1 + ev.c | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Changes b/Changes index bf107e7..3eb5316 100644 --- a/Changes +++ b/Changes @@ -37,6 +37,7 @@ TODO: ev_feed_child_event works in all cases (unlike read/write/send/recv...). - try to detect signals around a fork faster (test program by Denis Bilenko). + - work around recent glibc versions that leak memory in realloc. 4.11 Sat Feb 4 19:52:39 CET 2012 - INCOMPATIBLE CHANGE: ev_timer_again now clears the pending status, as diff --git a/ev.c b/ev.c index 317dd8e..09adac9 100644 --- a/ev.c +++ b/ev.c @@ -1193,12 +1193,11 @@ ev_syserr (const char *msg) static void * ev_realloc_emul (void *ptr, long size) EV_THROW { -#if __GLIBC__ - return realloc (ptr, size); -#else /* some systems, notably openbsd and darwin, fail to properly * implement realloc (x, 0) (as required by both ansi c-89 and * the single unix specification, so work around them here. + * recently, also (at least) fedora and debian started breaking it, + * despite documenting it otherwise. */ if (size) @@ -1206,7 +1205,6 @@ ev_realloc_emul (void *ptr, long size) EV_THROW free (ptr); return 0; -#endif } static void *(*alloc)(void *ptr, long size) EV_THROW = ev_realloc_emul;