From 4364c5720ccf488db8a70d1f36fab6a7dc7feee5 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 7 Oct 2011 17:47:55 +0000 Subject: [PATCH] fd leak -- SVN revision: 63914 --- legacy/eina/src/lib/eina_file.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/legacy/eina/src/lib/eina_file.c b/legacy/eina/src/lib/eina_file.c index dac9d2ecf0..09ff3fd598 100644 --- a/legacy/eina/src/lib/eina_file.c +++ b/legacy/eina/src/lib/eina_file.c @@ -588,7 +588,7 @@ eina_file_init(void) return EINA_FALSE; } - _eina_file_cache = eina_hash_string_djb2_new(EINA_FREE_CB(_eina_file_real_close)); + _eina_file_cache = eina_hash_string_djb2_new(NULL); if (!_eina_file_cache) { ERR("Could not create cache."); @@ -921,6 +921,7 @@ eina_file_open(const char *path, Eina_Bool shared) { file->delete_me = EINA_TRUE; eina_hash_del(_eina_file_cache, file->filename, file); + _eina_file_real_close(file); file = NULL; } @@ -994,7 +995,8 @@ eina_file_close(Eina_File *file) eina_lock_take(&_eina_file_lock_cache); eina_hash_del(_eina_file_cache, file->filename, file); - + _eina_file_real_close(file); + eina_lock_release(&_eina_file_lock_cache); }