Enlightenment CVS committal

Author  : onefang
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore


Modified Files:
        ecore_events.c ecore_exe.c ecore_private.h ecore_signal.c 


Log Message:
Refactoring the exe exit stuff.

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/ecore_events.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- ecore_events.c      15 Jan 2006 11:27:19 -0000      1.21
+++ ecore_events.c      16 Jan 2006 03:20:35 -0000      1.22
@@ -455,27 +455,6 @@
      }
 }
 
-#ifndef WIN32
-void *
-_ecore_event_exe_exit_new(void)
-{
-   Ecore_Exe_Event_Del *e;
-   
-   e = calloc(1, sizeof(Ecore_Exe_Event_Del));
-   return e;
-}
-
-void
-_ecore_event_exe_exit_free(void *data __UNUSED__, void *ev)
-{
-   Ecore_Exe_Event_Del *e;
-   
-   e = ev;
-   if (e->exe) _ecore_exe_free(e->exe);
-   free(e);
-}
-#endif
-
 EAPI void *
 _ecore_event_signal_user_new(void)
 {
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/ecore_exe.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -3 -r1.43 -r1.44
--- ecore_exe.c 15 Jan 2006 11:27:19 -0000      1.43
+++ ecore_exe.c 16 Jan 2006 03:20:36 -0000      1.44
@@ -411,7 +411,7 @@
    if (!ok)
      {   /* Something went wrong, so pull down everything. */
        if (exe->pid)   ecore_exe_terminate(exe);
-       IF_FN_DEL(_ecore_exe_free, exe);
+       IF_FN_DEL(ecore_exe_free, exe);
      }
    else
       {
@@ -535,13 +535,36 @@
 EAPI void *
 ecore_exe_free(Ecore_Exe *exe)
 {
+   void *data;
+   int ok = 0;
+   int result;
+
    if (!ECORE_MAGIC_CHECK(exe, ECORE_MAGIC_EXE))
      {
        ECORE_MAGIC_FAIL(exe, ECORE_MAGIC_EXE,
                         "ecore_exe_free");
        return NULL;
      }
-   return _ecore_exe_free(exe);
+
+   data = exe->data;
+
+   IF_FN_DEL(ecore_timer_del, exe->doomsday_clock);
+   IF_FN_DEL(ecore_main_fd_handler_del, exe->write_fd_handler);
+   IF_FN_DEL(ecore_main_fd_handler_del, exe->read_fd_handler);
+   IF_FN_DEL(ecore_main_fd_handler_del, exe->error_fd_handler);
+   if (exe->child_fd_write)  E_NO_ERRNO(result, close(exe->child_fd_write), 
ok);
+   if (exe->child_fd_read)   E_NO_ERRNO(result, close(exe->child_fd_read), ok);
+   if (exe->child_fd_error)  E_NO_ERRNO(result, close(exe->child_fd_error), 
ok);
+   IF_FREE(exe->write_data_buf);
+   IF_FREE(exe->read_data_buf);
+   IF_FREE(exe->error_data_buf);
+   IF_FREE(exe->cmd);
+   
+   exes = _ecore_list2_remove(exes, exe);
+   ECORE_MAGIC_SET(exe, ECORE_MAGIC_NONE);
+   IF_FREE(exe->tag);
+   free(exe);
+   return data;
 }
 
 /**
@@ -822,7 +845,7 @@
 void
 _ecore_exe_shutdown(void)
 {
-   while (exes) _ecore_exe_free(exes);
+   while (exes) ecore_exe_free(exes);
 }
 
 Ecore_Exe *
@@ -931,35 +954,6 @@
    return;
 }
 
-void *
-_ecore_exe_free(Ecore_Exe *exe)
-{
-   void *data;
-   int ok = 0;
-   int result;
-
-   data = exe->data;
-
-   IF_FN_DEL(ecore_timer_del, exe->doomsday_clock);
-   IF_FN_DEL(ecore_main_fd_handler_del, exe->write_fd_handler);
-   IF_FN_DEL(ecore_main_fd_handler_del, exe->read_fd_handler);
-   IF_FN_DEL(ecore_main_fd_handler_del, exe->error_fd_handler);
-   if (exe->child_fd_write)  E_NO_ERRNO(result, close(exe->child_fd_write), 
ok);
-   if (exe->child_fd_read)   E_NO_ERRNO(result, close(exe->child_fd_read), ok);
-   if (exe->child_fd_error)  E_NO_ERRNO(result, close(exe->child_fd_error), 
ok);
-   IF_FREE(exe->write_data_buf);
-   IF_FREE(exe->read_data_buf);
-   IF_FREE(exe->error_data_buf);
-   IF_FREE(exe->cmd);
-   
-   exes = _ecore_list2_remove(exes, exe);
-   ECORE_MAGIC_SET(exe, ECORE_MAGIC_NONE);
-   IF_FREE(exe->tag);
-   free(exe);
-   return data;
-}
-
-
 static int
 _ecore_exe_data_generic_handler(void *data, Ecore_Fd_Handler *fd_handler, 
Ecore_Fd_Handler_Flags flags)
 {
@@ -1250,4 +1244,23 @@
    e = ev;
    free(e);
 }
+
+void *
+_ecore_exe_event_del_new(void)
+{
+   Ecore_Exe_Event_Del *e;
+   
+   e = calloc(1, sizeof(Ecore_Exe_Event_Del));
+   return e;
+}
+
+void
+_ecore_exe_event_del_free(void *data __UNUSED__, void *ev)
+{
+   Ecore_Exe_Event_Del *e;
+   
+   e = ev;
+   if (e->exe) ecore_exe_free(e->exe);
+   free(e);
+}
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/ecore_private.h,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -3 -r1.36 -r1.37
--- ecore_private.h     13 Jan 2006 04:31:41 -0000      1.36
+++ ecore_private.h     16 Jan 2006 03:20:36 -0000      1.37
@@ -390,10 +390,6 @@
 void         *_ecore_event_del(Ecore_Event *event);
 void          _ecore_event_call(void);
 
-#ifndef WIN32
-void         *_ecore_event_exe_exit_new(void);
-void          _ecore_event_exe_exit_free(void *data, void *ev);
-#endif
 EAPI void         *_ecore_event_signal_user_new(void);
 void         *_ecore_event_signal_hup_new(void);
 void         *_ecore_event_signal_exit_new(void);
@@ -411,7 +407,8 @@
 void          _ecore_exe_init(void);
 void          _ecore_exe_shutdown(void);
 Ecore_Exe    *_ecore_exe_find(pid_t pid);
-void         *_ecore_exe_free(Ecore_Exe *exe);
+void         *_ecore_exe_event_del_new(void);
+void          _ecore_exe_event_del_free(void *data, void *ev);
 #endif
 
 void          _ecore_animator_shutdown(void);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/ecore_signal.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- ecore_signal.c      15 Jan 2006 11:27:19 -0000      1.28
+++ ecore_signal.c      16 Jan 2006 03:20:36 -0000      1.29
@@ -167,7 +167,7 @@
             /* FIXME: If this process is set respawn, respawn with a suitable 
backoff
              * period for those that need too much respawning. 
              */
-            e = _ecore_event_exe_exit_new();
+            e = _ecore_exe_event_del_new();
             if (e)
               {
                  if (WIFEXITED(status))
@@ -218,7 +218,7 @@
                    {
                       if (e->exe) printf("Sending exit event for %s.\n", 
e->exe->cmd);
                       _ecore_event_add(ECORE_EXE_EVENT_DEL, e, 
-                                  _ecore_event_exe_exit_free, NULL);
+                                  _ecore_exe_event_del_free, NULL);
                    }
               }
          }
@@ -505,7 +505,7 @@
      {
        printf("Sending delayed exit event for %s.\n", e->exe->cmd);
        _ecore_event_add(ECORE_EXE_EVENT_DEL, e, 
-                        _ecore_event_exe_exit_free, NULL);
+                        _ecore_exe_event_del_free, NULL);
      }
    return 0;
 }




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to