forked from enlightenment/efl
fix ref count issues on file modify while in use. lost handles and
dictionaries we depend on. SVN revision: 33894
This commit is contained in:
parent
8a3e188813
commit
20d79e8612
|
@ -668,7 +668,9 @@ eet_clearcache(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < num; i++)
|
for (i = 0; i < num; i++)
|
||||||
eet_close(closelist[i]);
|
{
|
||||||
|
eet_close(closelist[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1134,6 +1136,7 @@ eet_open(const char *file, Eet_File_Mode mode)
|
||||||
if (ef && (file_stat.st_mtime != ef->mtime))
|
if (ef && (file_stat.st_mtime != ef->mtime))
|
||||||
{
|
{
|
||||||
ef->delete_me_now = 1;
|
ef->delete_me_now = 1;
|
||||||
|
ef->references++;
|
||||||
eet_close(ef);
|
eet_close(ef);
|
||||||
ef = NULL;
|
ef = NULL;
|
||||||
}
|
}
|
||||||
|
@ -1235,11 +1238,13 @@ eet_open(const char *file, Eet_File_Mode mode)
|
||||||
if (ef->ed)
|
if (ef->ed)
|
||||||
{
|
{
|
||||||
for (i = 0; i < ef->ed->count; ++i)
|
for (i = 0; i < ef->ed->count; ++i)
|
||||||
if (ef->ed->all[i].mmap)
|
{
|
||||||
{
|
if (ef->ed->all[i].mmap)
|
||||||
ef->ed->all[i].str = strdup(ef->ed->all[i].mmap);
|
{
|
||||||
ef->ed->all[i].mmap = NULL;
|
ef->ed->all[i].str = strdup(ef->ed->all[i].mmap);
|
||||||
}
|
ef->ed->all[i].mmap = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(ef->fp);
|
fclose(ef->fp);
|
||||||
|
|
Loading…
Reference in New Issue