Eo *o = data;
Efl_Io_Copier_Data *pd = efl_data_scope_get(o, MY_CLASS);
- pd->job = NULL;
-
_COPIER_DBG(o, pd);
efl_ref(o);
{
if (pd->job) return;
- pd->job = efl_loop_job(efl_loop_user_loop_get(o), o);
+ 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);
}
_COPIER_DBG(o, pd);
if (pd->job)
- {
- efl_future_cancel(pd->job);
- pd->job = NULL;
- }
+ efl_future_cancel(pd->job);
if (pd->source)
{
efl_io_copier_destination_set(o, NULL);
if (pd->job)
- {
- efl_future_cancel(pd->job);
- pd->job = NULL;
- }
+ efl_future_cancel(pd->job);
efl_destructor(efl_super(o, MY_CLASS));
else if (pd->pending_close)
{
efl_future_cancel(pd->pending_close);
- pd->pending_close = NULL;
efl_io_closer_close(o);
}
else if (efl_io_closer_close_on_destructor_get(o) &&
{
if (!pd->pending_close)
{
- pd->pending_close = efl_loop_job(efl_loop_user_loop_get(o), o);
+ efl_future_use(&pd->pending_close, efl_loop_job(efl_loop_user_loop_get(o), o));
efl_future_then(pd->pending_close, _efl_net_dialer_http_pending_close, NULL, NULL, o);
DBG("dialer=%p closed from CURL callback, schedule close job=%p", o, pd->pending_close);
}
Eo *o = data;
Efl_Net_Dialer_Http_Data *pd = efl_data_scope_get(o, MY_CLASS);
- pd->pending_close = NULL;
_efl_net_dialer_http_efl_io_closer_close(o, pd);
}
efl_io_closer_close(o);
if (pd->connect.timeout)
- {
- efl_future_cancel(pd->connect.timeout);
- pd->connect.timeout = NULL;
- }
+ efl_future_cancel(pd->connect.timeout);
if (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->resolve.thread)
{
ecore_thread_cancel(pd->resolve.thread);
efl_net_dialer_address_dial_set(o, address);
if (pd->connect.timeout)
- {
- efl_future_cancel(pd->connect.timeout);
- pd->connect.timeout = NULL;
- }
+ efl_future_cancel(pd->connect.timeout);
if (pd->timeout_dial > 0.0)
{
- pd->connect.timeout = efl_loop_timeout(efl_loop_user_loop_get(o), pd->timeout_dial, o);
+ 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);
}
{
pd->timeout_dial = seconds;
if (pd->connect.timeout)
- {
- efl_future_cancel(pd->connect.timeout);
- pd->connect.timeout = NULL;
- }
+ efl_future_cancel(pd->connect.timeout);
if (pd->timeout_dial > 0.0)
{
- pd->connect.timeout = efl_loop_timeout(efl_loop_user_loop_get(o), pd->timeout_dial, o);
+ 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_net_dialer_tcp_efl_net_dialer_connected_set(Eo *o, Efl_Net_Dialer_Tcp_Data *pd, Eina_Bool connected)
{
if (pd->connect.timeout)
- {
- efl_future_cancel(pd->connect.timeout);
- pd->connect.timeout = NULL;
- }
+ efl_future_cancel(pd->connect.timeout);
if (pd->connected == connected) return;
pd->connected = connected;
if (connected) efl_event_callback_call(o, EFL_NET_DIALER_EVENT_CONNECTED, NULL);
else
efl_event_callback_call(o, EFL_IO_CLOSER_EVENT_CLOSED, NULL);
if (pd->close_timeout)
- {
- efl_future_cancel(pd->close_timeout);
- pd->close_timeout = NULL;
- }
+ efl_future_cancel(pd->close_timeout);
break;
}
loop = efl_loop_user_loop_get(o);
if (!loop) return;
- pd->job = efl_loop_job(loop, o);
+ efl_future_use(&pd->job, efl_loop_job(loop, o));
efl_future_then(pd->job, _efl_net_dialer_websocket_job, NULL, NULL, o);
}
Eina_Stringshare *str;
efl_event_callback_array_del(pd->http, _efl_net_dialer_websocket_http_cbs(), o);
+
if (pd->close_timeout)
- {
- efl_future_cancel(pd->close_timeout);
- pd->close_timeout = NULL;
- }
+ efl_future_cancel(pd->close_timeout);
efl_del(pd->http);
pd->http = NULL;
Eo *o = data;
Efl_Net_Dialer_Websocket_Data *pd = efl_data_scope_get(o, MY_CLASS);
- pd->close_timeout = NULL;
DBG("server did not close the TCP socket, timeout");
efl_event_callback_call(o, EFL_IO_CLOSER_EVENT_CLOSED, NULL);
}
if (pd->close_timeout)
efl_future_cancel(pd->close_timeout);
- pd->close_timeout = efl_loop_timeout(efl_loop_user_loop_get(o), 2.0, o);
+ 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_io_writer_can_write_set(o, EINA_FALSE);