From: <enl...@li...> - 2005-11-09 13:57:51
|
Enlightenment CVS committal Author : onefang Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore Modified Files: ecore_private.h Ecore.h Log Message: Getting ready for fork'n'pipe. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/ecore_private.h,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- ecore_private.h 25 Oct 2005 07:21:52 -0000 1.22 +++ ecore_private.h 9 Nov 2005 13:57:45 -0000 1.23 @@ -119,8 +119,9 @@ enum _Ecore_Exe_Flags { ECORE_EXE_PIPE_READ = 1, - ECORE_EXE_PIPE_WRITE = 2, - ECORE_EXE_PIPE_READ_LINE_BUFFERED = 4 + ECORE_EXE_PIPE_WRITE = 2, + ECORE_EXE_PIPE_READ_LINE_BUFFERED = 4, + ECORE_EXE_RESPAWN = 8 }; typedef enum _Ecore_Exe_Flags Ecore_Exe_Flags; @@ -145,14 +146,16 @@ pid_t pid; void *data; char *tag; + char *cmd; Ecore_Exe_Flags flags; + char *args[4]; /* Arguments for child */ Ecore_Fd_Handler *fd_handler; /* FIXME: the fd_handler to handle read/write to child - if this was used, or NULL if not */ - void *write_data_buf; /* FIXME: a data buffer for data to write to the child - realloced as needed for more data and flushed when the fd handler says writes are possible */ - int write_data_size; /* FIXME: the size in bytes of the data buffer */ - void *read_data_buf; /* FIXME: data read from the child awating delivery to an event */ - int read_data_size; /* FIXME: data read from child in bytes */ - int child_fd_write; /* FIXME: fd to write TO to send data to the child */ - int child_fd_read; /* FIXME: fd to read FROM whne child has send us (parent) data */ + void *write_data_buf; /* FIXME: a data buffer for data to write to the child - realloced as needed for more data and flushed when the fd handler says writes are possible */ + int write_data_size; /* FIXME: the size in bytes of the data buffer */ + void *read_data_buf; /* FIXME: data read from the child awating delivery to an event */ + int read_data_size; /* FIXME: data read from child in bytes */ + int child_fd_write; /* fd to write TO to send data to the child */ + int child_fd_read; /* fd to read FROM whne child has send us (parent) data */ }; #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Ecore.h,v retrieving revision 1.27 retrieving revision 1.28 diff -u -3 -r1.27 -r1.28 --- Ecore.h 24 Oct 2005 08:53:50 -0000 1.27 +++ Ecore.h 9 Nov 2005 13:57:45 -0000 1.28 @@ -78,7 +78,8 @@ { ECORE_EXE_PIPE_READ = 1, /**< Exe Pipe Read mask */ ECORE_EXE_PIPE_WRITE = 2, /**< Exe Pipe Write mask */ - ECORE_EXE_PIPE_READ_LINE_BUFFERED = 4 /**< Reads are buffered until a newline and delivered 1 event per line */ + ECORE_EXE_PIPE_READ_LINE_BUFFERED = 4, /**< Reads are buffered until a newline and delivered 1 event per line */ + ECORE_EXE_RESPAWN = 8 /**< Exe is restarted if it dies */ }; typedef enum _Ecore_Exe_Flags Ecore_Exe_Flags; @@ -205,6 +206,7 @@ EAPI void ecore_exe_pause(Ecore_Exe *exe); EAPI void ecore_exe_continue(Ecore_Exe *exe); EAPI void ecore_exe_terminate(Ecore_Exe *exe); + EAPI void ecore_exe_kill_maybe(Ecore_Exe *exe); EAPI void ecore_exe_kill(Ecore_Exe *exe); EAPI void ecore_exe_signal(Ecore_Exe *exe, int num); EAPI void ecore_exe_hup(Ecore_Exe *exe); |