summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2020-02-15 11:31:43 +0000
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2020-02-15 11:31:43 +0000
commit0802f4dc95603b2c95c854c627fd297dd95412aa (patch)
treedee51583a8316fb8d562d51769db044e38ab767c
parentbddb5385638e0aa90f6f2419a023a1c8c9bd387e (diff)
ecore_con - on bsd if we get flock unlink old socket by force
trying to address other parts of the bsd socket hanging on bind() etc. ... unlink socket if we get the file lock as we should now have an exclusive lock on the socket anyway - clear out the old one by force once we have the lock.
-rw-r--r--src/lib/ecore_con/efl_net_server_unix.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/ecore_con/efl_net_server_unix.c b/src/lib/ecore_con/efl_net_server_unix.c
index 206845b308..9f9af5a2a4 100644
--- a/src/lib/ecore_con/efl_net_server_unix.c
+++ b/src/lib/ecore_con/efl_net_server_unix.c
@@ -196,6 +196,7 @@ _efl_net_server_unix_bind(Eo *o, Efl_Net_Server_Unix_Data *pd)
196 err = EADDRINUSE; 196 err = EADDRINUSE;
197 goto error; 197 goto error;
198 } 198 }
199 unlink(addr.sun_path);
199 pd->have_lock_fd = EINA_TRUE; 200 pd->have_lock_fd = EINA_TRUE;
200#endif 201#endif
201 r = bind(fd, (struct sockaddr *)&addr, addrlen); 202 r = bind(fd, (struct sockaddr *)&addr, addrlen);