diff --git a/legacy/eet/ChangeLog b/legacy/eet/ChangeLog index 6b5b7b8580..26d4870612 100644 --- a/legacy/eet/ChangeLog +++ b/legacy/eet/ChangeLog @@ -582,3 +582,7 @@ 2012-04-26 Carsten Haitzler (The Rasterman) 1.6.0 release + +2012-05-11 Cedric Bail + + * Force destruction of all pending file when shuting down eet. diff --git a/legacy/eet/NEWS b/legacy/eet/NEWS index 107a8b2d15..bff1bff2c3 100644 --- a/legacy/eet/NEWS +++ b/legacy/eet/NEWS @@ -1,3 +1,11 @@ +Eet 1.7.0 + +Changes since Eet 1.6.0: +-------------------------- + +Fixes: + * Force destruction of all pending file when shuting down eet. + Eet 1.6.0 Changes since Eet 1.5.0: diff --git a/legacy/eet/src/lib/eet_lib.c b/legacy/eet/src/lib/eet_lib.c index a356a2b921..a3295f47af 100644 --- a/legacy/eet/src/lib/eet_lib.c +++ b/legacy/eet/src/lib/eet_lib.c @@ -633,6 +633,33 @@ eet_shutdown(void) return eet_init_count; eet_clearcache(); + + if (eet_writers_num || eet_readers_num) + { + Eet_File **closelist = NULL; + int num = 0; + int i; + + closelist = alloca((eet_writers_num + eet_readers_num) + * sizeof(Eet_File *)); + for (i = 0; i < eet_writers_num; i++) + { + closelist[num++] = eet_writers[i]; + eet_writers[i]->delete_me_now = 1; + } + + for (i = 0; i < eet_readers_num; i++) + { + closelist[num++] = eet_readers[i]; + eet_readers[i]->delete_me_now = 1; + } + + for (i = 0; i < num; i++) + { + ERR("File '%s' is still open !", closelist[i]->path); + eet_internal_close(closelist[i], EINA_TRUE); + } + } eet_node_shutdown(); eet_mempool_shutdown();