illogict pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4983ac6d367026118ee0f632a87ed16122f6ba8b
commit 4983ac6d367026118ee0f632a87ed16122f6ba8b Author: Chidambar Zinnoury <[email protected]> Date: Fri Nov 20 17:46:38 2015 +0100 ecore con: Fix UDP sockets. The client structure holds a file descriptor, which is not initialized (which means 0) in case of UDP as there is no client-specific socket. However, we check for the file descriptor being positive before closing it in the client destructor, which means that we actually end up closing the 0 file descriptor. That means that things were going crazy with real strange things happening afterwards… --- src/lib/ecore_con/ecore_con.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c index 1582c26..5a2736f 100644 --- a/src/lib/ecore_con/ecore_con.c +++ b/src/lib/ecore_con/ecore_con.c @@ -2360,6 +2360,7 @@ _ecore_con_svr_udp_handler(void *data, EINA_SAFETY_ON_NULL_RETURN_VAL(cl, ECORE_CALLBACK_RENEW); cl->host_server = svr_obj; + cl->fd = -1; cl->client_addr = malloc(client_addr_len); if (!cl->client_addr) { --
