efl_io_reader/writer: always set 'can_*' to FALSE on errors.
If user tries to read or write and that fails then set 'can_read' or 'can_write' to false, regardless of the error code.
This commit is contained in:
parent
2666e927a5
commit
963e3a793d
|
@ -46,7 +46,7 @@ _efl_io_reader_fd_efl_io_reader_read(Eo *o, Efl_Io_Reader_Fd_Data *pd EINA_UNUSE
|
|||
|
||||
rw_slice->len = 0;
|
||||
rw_slice->mem = NULL;
|
||||
if (errno == EAGAIN) efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
return errno;
|
||||
}
|
||||
}
|
||||
|
@ -63,6 +63,7 @@ _efl_io_reader_fd_efl_io_reader_read(Eo *o, Efl_Io_Reader_Fd_Data *pd EINA_UNUSE
|
|||
error:
|
||||
rw_slice->len = 0;
|
||||
rw_slice->mem = NULL;
|
||||
efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ _efl_io_writer_fd_efl_io_writer_write(Eo *o, Efl_Io_Writer_Fd_Data *pd EINA_UNUS
|
|||
if (remaining) *remaining = *ro_slice;
|
||||
ro_slice->len = 0;
|
||||
ro_slice->mem = NULL;
|
||||
if (errno == EAGAIN) efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return errno;
|
||||
}
|
||||
}
|
||||
|
@ -66,6 +66,7 @@ _efl_io_writer_fd_efl_io_writer_write(Eo *o, Efl_Io_Writer_Fd_Data *pd EINA_UNUS
|
|||
if (remaining) *remaining = *ro_slice;
|
||||
ro_slice->len = 0;
|
||||
ro_slice->mem = NULL;
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return EINVAL;
|
||||
|
||||
}
|
||||
|
|
|
@ -170,7 +170,7 @@ _efl_net_server_udp_client_efl_io_reader_read(Eo *o, Efl_Net_Server_Udp_Client_D
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Error
|
||||
_efl_net_server_udp_client_efl_io_writer_write(Eo *o EINA_UNUSED, Efl_Net_Server_Udp_Client_Data *pd, Eina_Slice *ro_slice, Eina_Slice *remaining)
|
||||
_efl_net_server_udp_client_efl_io_writer_write(Eo *o, Efl_Net_Server_Udp_Client_Data *pd, Eina_Slice *ro_slice, Eina_Slice *remaining)
|
||||
{
|
||||
ssize_t r;
|
||||
|
||||
|
@ -189,6 +189,7 @@ _efl_net_server_udp_client_efl_io_writer_write(Eo *o EINA_UNUSED, Efl_Net_Server
|
|||
if (remaining) *remaining = *ro_slice;
|
||||
ro_slice->len = 0;
|
||||
ro_slice->mem = NULL;
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
@ -207,6 +208,7 @@ _efl_net_server_udp_client_efl_io_writer_write(Eo *o EINA_UNUSED, Efl_Net_Server
|
|||
if (remaining) *remaining = *ro_slice;
|
||||
ro_slice->len = 0;
|
||||
ro_slice->mem = NULL;
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
|
|
|
@ -204,7 +204,7 @@ _efl_net_socket_fd_efl_io_reader_read(Eo *o, Efl_Net_Socket_Fd_Data *pd EINA_UNU
|
|||
rw_slice->len = 0;
|
||||
rw_slice->mem = NULL;
|
||||
|
||||
if (err == EAGAIN) efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
@ -220,6 +220,7 @@ _efl_net_socket_fd_efl_io_reader_read(Eo *o, Efl_Net_Socket_Fd_Data *pd EINA_UNU
|
|||
error:
|
||||
rw_slice->len = 0;
|
||||
rw_slice->mem = NULL;
|
||||
efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
|
@ -279,7 +280,7 @@ _efl_net_socket_fd_efl_io_writer_write(Eo *o, Efl_Net_Socket_Fd_Data *pd EINA_UN
|
|||
if (remaining) *remaining = *ro_slice;
|
||||
ro_slice->len = 0;
|
||||
ro_slice->mem = NULL;
|
||||
if (err == EAGAIN) efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
@ -299,6 +300,7 @@ _efl_net_socket_fd_efl_io_writer_write(Eo *o, Efl_Net_Socket_Fd_Data *pd EINA_UN
|
|||
if (remaining) *remaining = *ro_slice;
|
||||
ro_slice->len = 0;
|
||||
ro_slice->mem = NULL;
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
|
|
|
@ -532,7 +532,7 @@ _efl_net_socket_udp_efl_io_reader_read(Eo *o, Efl_Net_Socket_Udp_Data *pd, Eina_
|
|||
rw_slice->len = 0;
|
||||
rw_slice->mem = NULL;
|
||||
|
||||
if (err == EAGAIN) efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -586,6 +586,7 @@ _efl_net_socket_udp_efl_io_reader_read(Eo *o, Efl_Net_Socket_Udp_Data *pd, Eina_
|
|||
error:
|
||||
rw_slice->len = 0;
|
||||
rw_slice->mem = NULL;
|
||||
efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
|
@ -610,7 +611,7 @@ _efl_net_socket_udp_efl_io_writer_write(Eo *o, Efl_Net_Socket_Udp_Data *pd, Eina
|
|||
if (remaining) *remaining = *ro_slice;
|
||||
ro_slice->len = 0;
|
||||
ro_slice->mem = NULL;
|
||||
if (err == EAGAIN) efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
@ -630,6 +631,7 @@ _efl_net_socket_udp_efl_io_writer_write(Eo *o, Efl_Net_Socket_Udp_Data *pd, Eina
|
|||
if (remaining) *remaining = *ro_slice;
|
||||
ro_slice->len = 0;
|
||||
ro_slice->mem = NULL;
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
|
|
|
@ -211,6 +211,8 @@ _efl_io_buffer_efl_io_reader_read(Eo *o, Efl_Io_Buffer_Data *pd, Eina_Rw_Slice *
|
|||
|
||||
error:
|
||||
rw_slice->len = 0;
|
||||
rw_slice->mem = NULL;
|
||||
efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
|
@ -299,6 +301,8 @@ _efl_io_buffer_efl_io_writer_write(Eo *o, Efl_Io_Buffer_Data *pd, Eina_Slice *sl
|
|||
error:
|
||||
if (remaining) *remaining = *slice;
|
||||
slice->len = 0;
|
||||
slice->mem = NULL;
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -300,6 +300,8 @@ _efl_io_queue_efl_io_reader_read(Eo *o, Efl_Io_Queue_Data *pd, Eina_Rw_Slice *rw
|
|||
|
||||
error:
|
||||
rw_slice->len = 0;
|
||||
rw_slice->mem = NULL;
|
||||
efl_io_reader_can_read_set(o, EINA_FALSE);
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
|
@ -424,6 +426,8 @@ _efl_io_queue_efl_io_writer_write(Eo *o, Efl_Io_Queue_Data *pd, Eina_Slice *slic
|
|||
error:
|
||||
if (remaining) *remaining = *slice;
|
||||
slice->len = 0;
|
||||
slice->mem = NULL;
|
||||
efl_io_writer_can_write_set(o, EINA_FALSE);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue