diff --git a/src/lib/ecore_con/efl_net_socket_fd.c b/src/lib/ecore_con/efl_net_socket_fd.c index c4c02676f7..5f3fd03877 100644 --- a/src/lib/ecore_con/efl_net_socket_fd.c +++ b/src/lib/ecore_con/efl_net_socket_fd.c @@ -36,19 +36,24 @@ typedef struct _Efl_Net_Socket_Fd_Data static void _efl_net_socket_fd_event_read(void *data EINA_UNUSED, const Efl_Event *event) { + if (efl_io_closer_closed_get(event->object)) + return; // TODO: unregister READ event efl_io_reader_can_read_set(event->object, EINA_TRUE); - efl_io_reader_eos_set(event->object, EINA_FALSE); } static void _efl_net_socket_fd_event_write(void *data EINA_UNUSED, const Efl_Event *event) { + if (efl_io_closer_closed_get(event->object)) + return; // TODO: unregister WRITE event efl_io_writer_can_write_set(event->object, EINA_TRUE); } static void _efl_net_socket_fd_event_error(void *data EINA_UNUSED, const Efl_Event *event) { + if (efl_io_closer_closed_get(event->object)) + return; // TODO: unregister ERROR event efl_io_writer_can_write_set(event->object, EINA_FALSE); efl_io_reader_can_read_set(event->object, EINA_FALSE); efl_io_reader_eos_set(event->object, EINA_TRUE);