diff --git a/src/lib/ecore/efl_io_copier.c b/src/lib/ecore/efl_io_copier.c index 39cbeabf44..e02176f159 100644 --- a/src/lib/ecore/efl_io_copier.c +++ b/src/lib/ecore/efl_io_copier.c @@ -849,7 +849,11 @@ _efl_io_copier_efl_object_destructor(Eo *o, Efl_Io_Copier_Data *pd) if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } efl_io_copier_source_set(o, NULL); efl_io_copier_destination_set(o, NULL); diff --git a/src/lib/ecore/efl_io_file.c b/src/lib/ecore/efl_io_file.c index 0e9320c421..ab0e20fbad 100644 --- a/src/lib/ecore/efl_io_file.c +++ b/src/lib/ecore/efl_io_file.c @@ -127,7 +127,11 @@ _efl_io_file_efl_object_destructor(Eo *o, Efl_Io_File_Data *pd) { if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } efl_destructor(efl_super(o, MY_CLASS)); diff --git a/src/lib/ecore_con/efl_net_dialer_http.c b/src/lib/ecore_con/efl_net_dialer_http.c index 135051dd65..b4d39e456e 100644 --- a/src/lib/ecore_con/efl_net_dialer_http.c +++ b/src/lib/ecore_con/efl_net_dialer_http.c @@ -1143,11 +1143,17 @@ _efl_net_dialer_http_efl_object_destructor(Eo *o, Efl_Net_Dialer_Http_Data *pd) else if (pd->pending_close) { efl_future_cancel(pd->pending_close); + efl_event_freeze(o); efl_io_closer_close(o); + efl_event_thaw(o); } else if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } efl_net_dialer_http_response_headers_clear(o); diff --git a/src/lib/ecore_con/efl_net_dialer_ssl.c b/src/lib/ecore_con/efl_net_dialer_ssl.c index 453486b65d..d873434756 100644 --- a/src/lib/ecore_con/efl_net_dialer_ssl.c +++ b/src/lib/ecore_con/efl_net_dialer_ssl.c @@ -98,7 +98,11 @@ _efl_net_dialer_ssl_efl_object_destructor(Eo *o, Efl_Net_Dialer_Ssl_Data *pd) { if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } if (pd->sock) { diff --git a/src/lib/ecore_con/efl_net_dialer_tcp.c b/src/lib/ecore_con/efl_net_dialer_tcp.c index 70aa4219cd..8806cc33bb 100644 --- a/src/lib/ecore_con/efl_net_dialer_tcp.c +++ b/src/lib/ecore_con/efl_net_dialer_tcp.c @@ -57,7 +57,11 @@ _efl_net_dialer_tcp_efl_object_destructor(Eo *o, Efl_Net_Dialer_Tcp_Data *pd) { if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } if (pd->connect.thread) { diff --git a/src/lib/ecore_con/efl_net_dialer_udp.c b/src/lib/ecore_con/efl_net_dialer_udp.c index e493ec9080..c85c770a20 100644 --- a/src/lib/ecore_con/efl_net_dialer_udp.c +++ b/src/lib/ecore_con/efl_net_dialer_udp.c @@ -58,7 +58,11 @@ _efl_net_dialer_udp_efl_object_destructor(Eo *o, Efl_Net_Dialer_Udp_Data *pd) { if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } if (pd->resolver.thread) { diff --git a/src/lib/ecore_con/efl_net_dialer_unix.c b/src/lib/ecore_con/efl_net_dialer_unix.c index 295d1b1c0f..0493ff2f78 100644 --- a/src/lib/ecore_con/efl_net_dialer_unix.c +++ b/src/lib/ecore_con/efl_net_dialer_unix.c @@ -48,7 +48,11 @@ _efl_net_dialer_unix_efl_object_destructor(Eo *o, Efl_Net_Dialer_Unix_Data *pd) { if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } if (pd->connect.thread) { diff --git a/src/lib/ecore_con/efl_net_server_udp_client.c b/src/lib/ecore_con/efl_net_server_udp_client.c index 20cec66a7f..e9ce54ca29 100644 --- a/src/lib/ecore_con/efl_net_server_udp_client.c +++ b/src/lib/ecore_con/efl_net_server_udp_client.c @@ -75,7 +75,11 @@ _efl_net_server_udp_client_efl_object_destructor(Eo *o, Efl_Net_Server_Udp_Clien { if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } efl_destructor(efl_super(o, MY_CLASS)); diff --git a/src/lib/ecore_con/efl_net_socket_fd.c b/src/lib/ecore_con/efl_net_socket_fd.c index e79fd47d89..e0e05d6328 100644 --- a/src/lib/ecore_con/efl_net_socket_fd.c +++ b/src/lib/ecore_con/efl_net_socket_fd.c @@ -91,7 +91,11 @@ _efl_net_socket_fd_efl_object_destructor(Eo *o, Efl_Net_Socket_Fd_Data *pd) { if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } efl_destructor(efl_super(o, MY_CLASS)); diff --git a/src/lib/ecore_con/efl_net_socket_ssl.c b/src/lib/ecore_con/efl_net_socket_ssl.c index 63252b90e8..77f9620572 100644 --- a/src/lib/ecore_con/efl_net_socket_ssl.c +++ b/src/lib/ecore_con/efl_net_socket_ssl.c @@ -434,7 +434,11 @@ _efl_net_socket_ssl_efl_object_destructor(Eo *o, Efl_Net_Socket_Ssl_Data *pd) { if (efl_io_closer_close_on_destructor_get(o) && (!efl_io_closer_closed_get(o))) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } efl_destructor(efl_super(o, MY_CLASS)); diff --git a/src/lib/efl/interfaces/efl_io_buffer.c b/src/lib/efl/interfaces/efl_io_buffer.c index 88bdc49488..e22bfa3eeb 100644 --- a/src/lib/efl/interfaces/efl_io_buffer.c +++ b/src/lib/efl/interfaces/efl_io_buffer.c @@ -166,7 +166,11 @@ EOLIAN static void _efl_io_buffer_efl_object_destructor(Eo *o, Efl_Io_Buffer_Data *pd) { if (!efl_io_closer_closed_get(o)) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } efl_destructor(efl_super(o, MY_CLASS)); diff --git a/src/lib/efl/interfaces/efl_io_queue.c b/src/lib/efl/interfaces/efl_io_queue.c index 9458f28a38..80bc0636fe 100644 --- a/src/lib/efl/interfaces/efl_io_queue.c +++ b/src/lib/efl/interfaces/efl_io_queue.c @@ -252,7 +252,11 @@ EOLIAN static void _efl_io_queue_efl_object_destructor(Eo *o, Efl_Io_Queue_Data *pd) { if (!efl_io_closer_closed_get(o)) - efl_io_closer_close(o); + { + efl_event_freeze(o); + efl_io_closer_close(o); + efl_event_thaw(o); + } efl_destructor(efl_super(o, MY_CLASS));