Mercurial > hg > octave-lyh
diff src/oct-procbuf.cc @ 3156:a494f93e60ff
[project @ 1998-02-20 07:47:48 by jwe]
author | jwe |
---|---|
date | Fri, 20 Feb 1998 07:47:52 +0000 |
parents | 894d516b4a00 |
children | 390d5e396682 |
line wrap: on
line diff
--- a/src/oct-procbuf.cc +++ b/src/oct-procbuf.cc @@ -55,6 +55,8 @@ int pipe_fds[2]; + volatile int child_std_end = (mode & ios::in) ? 1 : 0; + volatile int parent_end, child_end; if (is_open ()) @@ -74,21 +76,15 @@ child_end = pipe_fds[0]; } -#if defined HAVE_VFORK - proc_pid = vfork (); -#else - proc_pid = fork (); -#endif + proc_pid = ::fork (); if (proc_pid == 0) { - int child_std_end = (mode & ios::in) ? 1 : 0; - ::close (parent_end); if (child_end != child_std_end) { - dup2 (child_end, child_std_end); + ::dup2 (child_end, child_std_end); ::close (child_end); } @@ -153,7 +149,7 @@ do { - wait_pid = waitpid (proc_pid, &wstatus, 0); + wait_pid = ::waitpid (proc_pid, &wstatus, 0); } while (wait_pid == -1 && errno == EINTR);