EINA_LOG_STATE_START,
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_map_cow);
eina_cow_del(evas_object_state_cow);
evas_cserve2_shutdown(void)
{
const char zeros[sizeof(Msg_Index_List)] = {0};
+ Msg_Index_List *empty = (Msg_Index_List *) zeros;
if ((--cserve2_init) > 0)
return cserve2_init;
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();
return cserve2_init;
// 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)
{