forked from enlightenment/efl
evas/cserve2: Fix Eina_File leak at shutdown
cserve2_shutdown was not called
This commit is contained in:
parent
f5d0f0aec3
commit
a230e41409
|
@ -95,6 +95,11 @@ evas_shutdown(void)
|
||||||
EINA_LOG_STATE_START,
|
EINA_LOG_STATE_START,
|
||||||
EINA_LOG_STATE_SHUTDOWN);
|
EINA_LOG_STATE_SHUTDOWN);
|
||||||
|
|
||||||
|
#ifdef EVAS_CSERVE2
|
||||||
|
if (getenv("EVAS_CSERVE2"))
|
||||||
|
evas_cserve2_shutdown();
|
||||||
|
#endif
|
||||||
|
|
||||||
eina_cow_del(evas_object_proxy_cow);
|
eina_cow_del(evas_object_proxy_cow);
|
||||||
eina_cow_del(evas_object_map_cow);
|
eina_cow_del(evas_object_map_cow);
|
||||||
eina_cow_del(evas_object_state_cow);
|
eina_cow_del(evas_object_state_cow);
|
||||||
|
|
|
@ -308,12 +308,14 @@ int
|
||||||
evas_cserve2_shutdown(void)
|
evas_cserve2_shutdown(void)
|
||||||
{
|
{
|
||||||
const char zeros[sizeof(Msg_Index_List)] = {0};
|
const char zeros[sizeof(Msg_Index_List)] = {0};
|
||||||
|
Msg_Index_List *empty = (Msg_Index_List *) zeros;
|
||||||
|
|
||||||
if ((--cserve2_init) > 0)
|
if ((--cserve2_init) > 0)
|
||||||
return cserve2_init;
|
return cserve2_init;
|
||||||
|
|
||||||
DBG("Disconnecting from cserve2.");
|
DBG("Disconnecting from cserve2.");
|
||||||
_server_index_list_set((Msg_Base *) zeros, sizeof(Msg_Index_List));
|
empty->base.type = CSERVE2_INDEX_LIST;
|
||||||
|
_server_index_list_set((Msg_Base *) empty, sizeof(Msg_Index_List));
|
||||||
_server_disconnect();
|
_server_disconnect();
|
||||||
|
|
||||||
return cserve2_init;
|
return cserve2_init;
|
||||||
|
@ -1948,7 +1950,21 @@ _shared_index_remap_check(Shared_Index *si, int elemsize)
|
||||||
|
|
||||||
// Note: all checks are unlikely to be true.
|
// Note: all checks are unlikely to be true.
|
||||||
|
|
||||||
if (!si || elemsize <= 0) return EINA_FALSE;
|
if (!si || elemsize <= 0)
|
||||||
|
return EINA_FALSE;
|
||||||
|
|
||||||
|
if (!si->path[0])
|
||||||
|
{
|
||||||
|
if (si->f)
|
||||||
|
{
|
||||||
|
DBG("Closing index map");
|
||||||
|
eina_file_map_free(si->f, si->data);
|
||||||
|
eina_file_close(si->f);
|
||||||
|
eina_hash_free(si->entries_by_hkey);
|
||||||
|
memset(si, 0, sizeof(*si));
|
||||||
|
}
|
||||||
|
return EINA_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
if (si->generation_id != _index.generation_id)
|
if (si->generation_id != _index.generation_id)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue