efl_net_socket_fd: initialize fds to INVALID_SOCKET

Since 0 is a valid fd, then we'd try to do socket operations on it,
which would generate misleading errors.
This commit is contained in:
Gustavo Sverzut Barbieri 2016-12-19 12:47:13 -02:00
parent ae054e6c0b
commit b4c80b50bc
1 changed files with 5 additions and 1 deletions

View File

@ -79,6 +79,9 @@ _efl_net_socket_fd_efl_object_constructor(Eo *o, Efl_Net_Socket_Fd_Data *pd)
efl_io_closer_close_on_exec_set(o, EINA_TRUE);
efl_io_closer_close_on_destructor_set(o, EINA_TRUE);
efl_io_reader_fd_set(o, SOCKET_TO_LOOP_FD(INVALID_SOCKET));
efl_io_writer_fd_set(o, SOCKET_TO_LOOP_FD(INVALID_SOCKET));
efl_io_closer_fd_set(o, SOCKET_TO_LOOP_FD(INVALID_SOCKET));
return o;
}
@ -175,8 +178,9 @@ _efl_net_socket_fd_efl_io_closer_close(Eo *o, Efl_Net_Socket_Fd_Data *pd EINA_UN
}
EOLIAN static Eina_Bool
_efl_net_socket_fd_efl_io_closer_closed_get(Eo *o, Efl_Net_Socket_Fd_Data *pd EINA_UNUSED)
_efl_net_socket_fd_efl_io_closer_closed_get(Eo *o, Efl_Net_Socket_Fd_Data *pd)
{
if (pd->family == AF_UNSPEC) return EINA_FALSE;
return (SOCKET)efl_io_closer_fd_get(o) == INVALID_SOCKET;
}