Modified wxExecute() to close stdin/stdout/stderr.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -309,6 +309,14 @@ long wxExecute( char **argv, bool sync, wxProcess *process )
|
|||||||
else if (pid == 0) {
|
else if (pid == 0) {
|
||||||
// we're in child
|
// we're in child
|
||||||
close(end_proc_detect[0]); // close reading side
|
close(end_proc_detect[0]); // close reading side
|
||||||
|
// These three lines close the open file descriptors to
|
||||||
|
// to avoid any input/output which might block the process
|
||||||
|
// or irritate the user. If one wants proper IO for the sub-
|
||||||
|
// process, the "right thing to do" is to start an xterm executing
|
||||||
|
// it.
|
||||||
|
close(STDIN_FILENO);
|
||||||
|
close(STDOUT_FILENO);
|
||||||
|
close(STDERR_FILENO);
|
||||||
|
|
||||||
#ifdef _AIX
|
#ifdef _AIX
|
||||||
execvp ((const char *)*argv, (const char **)argv);
|
execvp ((const char *)*argv, (const char **)argv);
|
||||||
|
@@ -309,6 +309,14 @@ long wxExecute( char **argv, bool sync, wxProcess *process )
|
|||||||
else if (pid == 0) {
|
else if (pid == 0) {
|
||||||
// we're in child
|
// we're in child
|
||||||
close(end_proc_detect[0]); // close reading side
|
close(end_proc_detect[0]); // close reading side
|
||||||
|
// These three lines close the open file descriptors to
|
||||||
|
// to avoid any input/output which might block the process
|
||||||
|
// or irritate the user. If one wants proper IO for the sub-
|
||||||
|
// process, the "right thing to do" is to start an xterm executing
|
||||||
|
// it.
|
||||||
|
close(STDIN_FILENO);
|
||||||
|
close(STDOUT_FILENO);
|
||||||
|
close(STDERR_FILENO);
|
||||||
|
|
||||||
#ifdef _AIX
|
#ifdef _AIX
|
||||||
execvp ((const char *)*argv, (const char **)argv);
|
execvp ((const char *)*argv, (const char **)argv);
|
||||||
|
Reference in New Issue
Block a user