diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2012-05-11 10:28:02 +0000 |
---|---|---|
committer | Cedric BAIL <cedric.bail@free.fr> | 2012-05-11 10:28:02 +0000 |
commit | 4d2d491cddc0974c7e51b1c6fa2144865c84ac60 (patch) | |
tree | 935fec001432e60ff119e825f155985b949389f1 | |
parent | ef22dbcd2557b3cf4a9543489c0243ac0d9eda9c (diff) | |
download | eet-4d2d491cddc0974c7e51b1c6fa2144865c84ac60.tar.gz |
eet: force closing all file on shutdown.
SVN revision: 70928
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | src/lib/eet_lib.c | 27 |
3 files changed, 39 insertions, 0 deletions
@@ -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. @@ -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/src/lib/eet_lib.c b/src/lib/eet_lib.c index a356a2b..a3295f4 100644 --- a/src/lib/eet_lib.c +++ b/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(); |