barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b4c80b50bcef841d853f7e884b3eb921466096f3
commit b4c80b50bcef841d853f7e884b3eb921466096f3 Author: Gustavo Sverzut Barbieri <[email protected]> Date: Mon Dec 19 12:47:13 2016 -0200 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. --- src/lib/ecore_con/efl_net_socket_fd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_con/efl_net_socket_fd.c b/src/lib/ecore_con/efl_net_socket_fd.c index ec0134f..6902c87 100644 --- a/src/lib/ecore_con/efl_net_socket_fd.c +++ b/src/lib/ecore_con/efl_net_socket_fd.c @@ -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; } --
