before i changelog and backport this... discomfitor - look at this!
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 23 May 2012 09:07:47 +0000 (09:07 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 23 May 2012 09:07:47 +0000 (09:07 +0000)
how the hell did we get ecore_con to the state of NEVER
closing/freeing clients?

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@71352 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_con/ecore_con.c

index fe83478..44211b9 100644 (file)
@@ -116,9 +116,17 @@ _ecore_con_client_kill(Ecore_Con_Client *cl)
      }
    INF("Lost client %s", (cl->ip) ? cl->ip : "");
    if (cl->fd_handler)
-     ecore_main_fd_handler_del(cl->fd_handler);
-
-   cl->fd_handler = NULL;
+     {
+        ecore_main_fd_handler_del(cl->fd_handler);
+        cl->fd_handler = NULL;
+     }
+   if (cl->host_server)
+     {
+        _ecore_con_client_free(cl);
+        cl->host_server->clients = 
+          eina_list_remove(cl->host_server->clients, cl);
+        cl->host_server = NULL;
+     }
 }
 
 void