ecore ipc/con: fix nasty ... they dont mutually exclude
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Sun, 26 Nov 2017 05:01:14 +0000 (14:01 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Sun, 26 Nov 2017 05:01:14 +0000 (14:01 +0900)
by deleting the socket they wont mutually exclude at bind which means
eny new server just nides the pror one and you can get lots of copies
of the same server. this wasnt the case before. it shouldnt have been.
i think ther was an rm path for stale sockets when connecting failed
or something. anyway... this here was causing multilpe efreetd's and
all sorts of nastiness. this is the root cause. so... fix it.

@fix

src/lib/ecore_con/ecore_con_legacy.c
src/lib/ecore_ipc/ecore_ipc.c

index 1e04ae6..dc16f7c 100644 (file)
@@ -1531,7 +1531,6 @@ _ecore_con_server_server_set(Ecore_Con_Server *svr, Eo *server)
 #ifdef EFL_NET_SERVER_UNIX_CLASS
    else if (efl_isa(inner_server, EFL_NET_SERVER_UNIX_CLASS))
      {
-        efl_net_server_unix_unlink_before_bind_set(inner_server, EINA_TRUE);
         efl_net_server_unix_leading_directories_create_set(inner_server, EINA_TRUE, (type == ECORE_CON_LOCAL_SYSTEM) ? 0755 : 0700);
      }
 #endif
index 913ad3a..7dbdb92 100644 (file)
@@ -495,7 +495,6 @@ ecore_ipc_server_add(Ecore_Ipc_Type type, const char *name, int port, const void
    if (efl_isa(svr->server, EFL_NET_SERVER_UNIX_CLASS))
      {
         old_mask = umask(new_mask);
-        efl_net_server_unix_unlink_before_bind_set(svr->server, EINA_TRUE);
         efl_net_server_unix_leading_directories_create_set(svr->server,
                                                            EINA_TRUE,
                                                            local_system ? 0755 : 0700);