From 4c3667fb3327989c89b9eeb4c496ae62768452c6 Mon Sep 17 00:00:00 2001 From: caro Date: Wed, 7 Mar 2012 07:25:05 +0000 Subject: [PATCH] Eina: unlock mutex before returning Patch by Shinwoo Kim, modified by me git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@68885 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/eina_file_win32.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/eina_file_win32.c b/src/lib/eina_file_win32.c index 607682d..a6d6d12 100644 --- a/src/lib/eina_file_win32.c +++ b/src/lib/eina_file_win32.c @@ -1079,7 +1079,11 @@ eina_file_map_new(Eina_File *file, Eina_File_Populate rule, void *data; map = malloc(sizeof (Eina_File_Map)); - if (!map) return NULL; + if (!map) + { + eina_lock_release(&file->lock); + return NULL; + } data = MapViewOfFile(file->fm, FILE_MAP_READ, offset & 0xffff0000, @@ -1097,6 +1101,7 @@ eina_file_map_new(Eina_File *file, Eina_File_Populate rule, if (map->map == MAP_FAILED) { free(map); + eina_lock_release(&file->lock); return NULL; } @@ -1133,7 +1138,7 @@ eina_file_map_free(Eina_File *file, void *map) unsigned long int key[2]; em = eina_hash_find(file->rmap, &map); - if (!em) return ; + if (!em) goto on_exit; em->refcount--; -- 2.7.4