forked from enlightenment/efl
parent
e1adc2f81b
commit
a62dc114c7
|
@ -210,7 +210,7 @@ extern "C" {
|
|||
EAPI Ecore_Exe *ecore_exe_run(const char *exe_cmd, const void *data);
|
||||
EAPI Ecore_Exe *ecore_exe_pipe_run(const char *exe_cmd, Ecore_Exe_Flags flags, const void *data);
|
||||
EAPI int ecore_exe_send(Ecore_Exe *exe, void *data, int size);
|
||||
EAPI void ecore_exe_pipe_write_close(Ecore_Exe *exe);
|
||||
EAPI void ecore_exe_close_stdin(Ecore_Exe *exe);
|
||||
EAPI void *ecore_exe_free(Ecore_Exe *exe);
|
||||
EAPI pid_t ecore_exe_pid_get(Ecore_Exe *exe);
|
||||
EAPI void ecore_exe_tag_set(Ecore_Exe *exe, const char *tag);
|
||||
|
|
|
@ -444,21 +444,21 @@ ecore_exe_send(Ecore_Exe *exe, void *data, int size)
|
|||
}
|
||||
|
||||
/**
|
||||
* The stdin pipe of the given child process will close when the write buffer is empty.
|
||||
* The stdin of the given child process will close when the write buffer is empty.
|
||||
*
|
||||
* @param exe The child process to write to
|
||||
* @param exe The child process
|
||||
* @ingroup Ecore_Exe_Basic_Group
|
||||
*/
|
||||
void
|
||||
ecore_exe_pipe_write_close(Ecore_Exe *exe)
|
||||
ecore_exe_close_stdin(Ecore_Exe *exe)
|
||||
{
|
||||
if (!ECORE_MAGIC_CHECK(exe, ECORE_MAGIC_EXE))
|
||||
{
|
||||
ECORE_MAGIC_FAIL(exe, ECORE_MAGIC_EXE,
|
||||
"ecore_exe_pipe_write_close");
|
||||
"ecore_exe_close_stdin");
|
||||
return;
|
||||
}
|
||||
exe->close_write = 1;
|
||||
exe->close_stdin = 1;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1062,7 +1062,7 @@ _ecore_exe_data_write_handler(void *data, Ecore_Fd_Handler *fd_handler)
|
|||
_ecore_exe_flush(exe);
|
||||
|
||||
/* If we have sent all there is to send, and we need to close the pipe, then close it. */
|
||||
if ((exe->close_write == 1) && (exe->write_data_size == exe->write_data_offset))
|
||||
if ((exe->close_stdin == 1) && (exe->write_data_size == exe->write_data_offset))
|
||||
{
|
||||
int ok = 0;
|
||||
int result;
|
||||
|
@ -1073,7 +1073,6 @@ printf("Closing stdin for %s\n", exe->cmd);
|
|||
if (exe->child_fd_write) E_NO_ERRNO(result, close(exe->child_fd_write), ok);
|
||||
exe->child_fd_write = 0;
|
||||
IF_FREE(exe->write_data_buf);
|
||||
exe->close_write = 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
|
@ -247,7 +247,7 @@ struct _Ecore_Exe
|
|||
int read_data_size; /* 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 when child has sent us (the parent) data */
|
||||
int close_write;
|
||||
int close_stdin;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue