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;
 }
 

-- 


Reply via email to