netstar pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=64648b87f5adfc8971c87b2fd5af330f3eedd58e

commit 64648b87f5adfc8971c87b2fd5af330f3eedd58e
Author: Al Poole <[email protected]>
Date:   Sat Sep 9 16:16:47 2017 +0100

    edi_exe: don't send data if socket connect fails.
    
    May be a use case where we don't send data indicative of
    exit status.
---
 src/lib/edi_exe.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/lib/edi_exe.c b/src/lib/edi_exe.c
index 89d347b..bbfaf03 100644
--- a/src/lib/edi_exe.c
+++ b/src/lib/edi_exe.c
@@ -40,10 +40,13 @@ _edi_exe_notify_data_cb(void *data, int type EINA_UNUSED, 
void *event EINA_UNUSE
 EAPI Eina_Bool
 edi_exe_notify_handle(const char *name, void ((*func)(int, void *)), void 
*data)
 {
+   Ecore_Con_Server *srv;
    Edi_Exe_Args *args;
 
   /* These are UNIX domain sockets, no need to clean up */
-   ecore_con_server_add(ECORE_CON_LOCAL_USER, name, 0, NULL);
+   srv = ecore_con_server_add(ECORE_CON_LOCAL_USER, name, 0, NULL);
+   if (!srv)
+     return EINA_FALSE;
 
    args = malloc(sizeof(Edi_Exe_Args));
    args->func = func;
@@ -68,9 +71,11 @@ _edi_exe_event_done_cb(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event
   name = args->data;
   /* These are UNIX domain sockets, no need to clean up */
   srv = ecore_con_server_connect(ECORE_CON_LOCAL_USER, name, 0, NULL);
-
-  ecore_con_server_send(srv, &ev->exit_code, sizeof(int *));
-  ecore_con_server_flush(srv);
+  if (srv)
+    {
+       ecore_con_server_send(srv, &ev->exit_code, sizeof(int));
+       ecore_con_server_flush(srv);
+    }
 
   ecore_event_handler_del(args->handler);
 

-- 


Reply via email to