From: Vincent T. <vt...@un...> - 2010-03-05 18:12:24
|
Am I wrong or you didn't update ChangeLog ? Vincent On Fri, 5 Mar 2010, Enlightenment SVN wrote: > Log: > * eet: Fix a dead lock when eet file was open more than once. > > Author: cedric > Date: 2010-03-05 09:29:37 -0800 (Fri, 05 Mar 2010) > New Revision: 46892 > > Modified: > trunk/eet/src/lib/eet_lib.c > > Modified: trunk/eet/src/lib/eet_lib.c > =================================================================== > --- trunk/eet/src/lib/eet_lib.c 2010-03-05 17:19:03 UTC (rev 46891) > +++ trunk/eet/src/lib/eet_lib.c 2010-03-05 17:29:37 UTC (rev 46892) > @@ -1333,7 +1333,7 @@ > /* deref */ > ef->references--; > /* if its still referenced - dont go any further */ > - if (ef->references > 0) return EET_ERROR_NONE; > + if (ef->references > 0) goto on_error; > /* flush any writes */ > err = eet_flush2(ef); > > @@ -1342,10 +1342,7 @@ > > /* if not urgent to delete it - dont free it - leave it in cache */ > if ((!ef->delete_me_now) && (ef->mode == EET_FILE_MODE_READ)) > - { > - if (!locked) UNLOCK_CACHE; > - return EET_ERROR_NONE; > - } > + goto on_error; > > /* remove from cache */ > if (ef->mode == EET_FILE_MODE_READ) > @@ -1354,10 +1351,7 @@ > eet_cache_del(ef, &eet_writers, &eet_writers_num, &eet_writers_alloc); > > /* we can unlock the cache now */ > - if (!locked) > - { > - UNLOCK_CACHE; > - } > + if (!locked) UNLOCK_CACHE; > > DESTROY_FILE(ef); > > @@ -1408,6 +1402,10 @@ > /* free it */ > free(ef); > return err; > + > + on_error: > + if (!locked) UNLOCK_CACHE; > + return EET_ERROR_NONE; > } > > EAPI Eet_File * > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > enlightenment-svn mailing list > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > > |