efl_future_use(&pd->job, efl_loop_job(efl_loop_user_loop_get(o), o));
efl_future_then(pd->job, _efl_io_copier_job, NULL, NULL, o);
+ efl_future_link(o, pd->job);
}
/* NOTE: the returned slice may be smaller than requested since the
efl_io_copier_source_set(o, NULL);
efl_io_copier_destination_set(o, NULL);
- if (pd->job)
- efl_future_cancel(pd->job);
-
efl_destructor(efl_super(o, MY_CLASS));
if (pd->buf)
(!efl_io_closer_closed_get(o)))
efl_io_closer_close(o);
- if (pd->connect.timeout)
- efl_future_cancel(pd->connect.timeout);
-
if (pd->connect.thread)
{
ecore_thread_cancel(pd->connect.thread);
Efl_Net_Dialer_Tcp_Data *pd = efl_data_scope_get(o, MY_CLASS);
Eina_Error err = ETIMEDOUT;
- pd->connect.timeout = NULL;
-
if (pd->connect.thread)
{
ecore_thread_cancel(pd->connect.thread);
{
efl_future_use(&pd->connect.timeout, efl_loop_timeout(efl_loop_user_loop_get(o), pd->timeout_dial, o));
efl_future_then(pd->connect.timeout, _efl_net_dialer_tcp_connect_timeout, NULL, NULL, o);
+ efl_future_link(o, pd->connect.timeout);
}
return 0;
Eo *o = data;
Efl_Net_Dialer_Websocket_Data *pd = efl_data_scope_get(o, MY_CLASS);
- pd->job = NULL;
-
efl_ref(o);
if (efl_io_reader_can_read_get(pd->http))
if (!loop) return;
efl_future_use(&pd->job, efl_loop_job(loop, o));
efl_future_then(pd->job, _efl_net_dialer_websocket_job, NULL, NULL, o);
+ efl_future_link(o, pd->job);
}
static void
efl_event_callback_array_del(pd->http, _efl_net_dialer_websocket_http_cbs(), o);
- if (pd->close_timeout)
- efl_future_cancel(pd->close_timeout);
-
efl_del(pd->http);
pd->http = NULL;
- if (pd->job)
- {
- efl_future_cancel(pd->job);
- pd->job = NULL;
- }
-
efl_destructor(efl_super(o, MY_CLASS));
eina_stringshare_replace(&pd->address_dial, NULL);
efl_future_use(&pd->close_timeout, efl_loop_timeout(efl_loop_user_loop_get(o), 2.0, o));
efl_future_then(pd->close_timeout, _efl_net_dialer_websocket_close_request_timeout, NULL, NULL, o);
+ efl_future_link(o, pd->close_timeout);
efl_io_writer_can_write_set(o, EINA_FALSE);