From 71f88a1a13bb553bcf0a2a39f255e2239556f043 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Tue, 20 Dec 2011 05:57:57 +0000 Subject: [PATCH] probably a leak fix in ecor-eglib support - doesnt cause any issues in my testing, but documentation for g_static_mutex's isnt that great to let us know what to do with a static mutex... considering it's... static... pending respons from reporter for backport SVN revision: 66360 --- legacy/ecore/ChangeLog | 4 ++++ legacy/ecore/src/lib/ecore/ecore_glib.c | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/legacy/ecore/ChangeLog b/legacy/ecore/ChangeLog index 14a8850de4..d907eede12 100644 --- a/legacy/ecore/ChangeLog +++ b/legacy/ecore/ChangeLog @@ -421,3 +421,7 @@ 2011-12-16 Mike Blumenkrantz * Fix possible 0 byte allocation in ecore-x + +2011-12-20 Carsten Haitzler (The Rasterman) + + * Fix probable leak for g_static_mutex's on some architectures diff --git a/legacy/ecore/src/lib/ecore/ecore_glib.c b/legacy/ecore/src/lib/ecore/ecore_glib.c index 59673b9623..7cea1c9368 100644 --- a/legacy/ecore/src/lib/ecore/ecore_glib.c +++ b/legacy/ecore/src/lib/ecore/ecore_glib.c @@ -190,7 +190,9 @@ _ecore_glib_select(int ecore_fds, int ret; if (g_main_context_acquire(ctx)) - g_mutex_lock(mutex); + { + if (mutex) g_mutex_lock(mutex); + } else { if (!_ecore_glib_cond) @@ -203,8 +205,9 @@ _ecore_glib_select(int ecore_fds, ret = _ecore_glib_select__locked (ctx, ecore_fds, rfds, wfds, efds, ecore_timeout); - g_mutex_unlock(mutex); + if (mutex) g_mutex_unlock(mutex); g_main_context_release(ctx); + g_static_mutex_free(&lock); return ret; }