}
#endif
}
+# ifdef HAVE_EPOLL
if (pd->epoll_fd >= 0)
{
close(pd->epoll_fd);
pd->epoll_fd = -1;
}
+#endif
if (pd->timer_fd >= 0)
{
close(pd->timer_fd);
pd->fd_handlers = (Ecore_Fd_Handler *)
eina_inlist_append(EINA_INLIST_GET(pd->fd_handlers),
EINA_INLIST_GET(fdh));
-
return fdh;
}
if (fdh->handler) efl_del(fdh->handler);
else
{
- ECORE_MAGIC_SET(fdh, ECORE_MAGIC_NONE);
- ecore_fd_handler_mp_free(fdh);
+// XXX: can't do this because this fd handler is legacy and might
+// be cleaned up later in object destructors
+// ECORE_MAGIC_SET(fdh, ECORE_MAGIC_NONE);
+// ecore_fd_handler_mp_free(fdh);
}
}
- if (pd)
- {
- if (pd->fd_handlers_with_buffer)
- pd->fd_handlers_with_buffer =
- eina_list_free(pd->fd_handlers_with_buffer);
- if (pd->fd_handlers_with_prep)
- pd->fd_handlers_with_prep =
- eina_list_free(pd->fd_handlers_with_prep);
- if (pd->file_fd_handlers)
- pd->file_fd_handlers =
- eina_list_free(pd->file_fd_handlers);
- if (pd->fd_handlers_to_delete)
- pd->fd_handlers_to_delete =
- eina_list_free(pd->fd_handlers_to_delete);
- pd->fd_handlers_to_call = NULL;
- pd->fd_handlers_to_call_current = NULL;
- }
+ if (pd->fd_handlers_with_buffer)
+ pd->fd_handlers_with_buffer =
+ eina_list_free(pd->fd_handlers_with_buffer);
+ if (pd->fd_handlers_with_prep)
+ pd->fd_handlers_with_prep =
+ eina_list_free(pd->fd_handlers_with_prep);
+ if (pd->file_fd_handlers)
+ pd->file_fd_handlers =
+ eina_list_free(pd->file_fd_handlers);
+ if (pd->fd_handlers_to_delete)
+ pd->fd_handlers_to_delete =
+ eina_list_free(pd->fd_handlers_to_delete);
+ pd->fd_handlers_to_call = NULL;
+ pd->fd_handlers_to_call_current = NULL;
pd->do_quit = 0;
ERR("Calling ecore_shutdown() while still in the main loop!!!");
return;
}
- _ecore_main_content_clear(pd);
}
static void
Efl_Loop_Data *loop = pd->loop_data;
if (pd->handler_fd)
- _ecore_main_fd_handler_del(obj, loop, pd->handler_fd);
+ {
+ _ecore_main_fd_handler_del(obj, loop, pd->handler_fd);
+ pd->handler_fd = NULL;
+ }
else if (pd->handler_win32)
- _ecore_main_win32_handler_del(obj, loop, pd->handler_win32);
- pd->handler_fd = NULL;
- pd->handler_win32 = NULL;
+ {
+ _ecore_main_win32_handler_del(obj, loop, pd->handler_win32);
+ pd->handler_win32 = NULL;
+ }
}
static Ecore_Fd_Handler_Flags
_handler_active_update(obj, pd);
else
{
- Ecore_Fd_Handler_Flags flags = _handler_flags_get(pd);
-
- if (pd->file)
- pd->handler_fd = _ecore_main_fd_handler_add
- (pd->loop, pd->loop_data, obj, pd->fd, flags,
- _cb_handler_fd, obj, buffer_func, buffer_data,
- EINA_TRUE);
- else
- pd->handler_fd = _ecore_main_fd_handler_add
- (pd->loop, pd->loop_data, obj, pd->fd, flags,
- _cb_handler_fd, obj, buffer_func, buffer_data,
- EINA_FALSE);
+ pd->handler_fd = _ecore_main_fd_handler_add
+ (pd->loop, pd->loop_data, obj, pd->fd, _handler_flags_get(pd),
+ _cb_handler_fd, obj, buffer_func, buffer_data,
+ pd->file ? EINA_TRUE : EINA_FALSE);
if (pd->handler_fd) _handler_active_update(obj, pd);
}
}