385abae
--- o/run_process.c.orig	2019-02-13 15:24:31.237418459 -0700
385abae
+++ o/run_process.c	2019-02-13 15:26:03.320507581 -0700
385abae
@@ -540,10 +540,10 @@ char **argv;
385abae
   fdout = ostream->sm.sm_int;
e190683
   if (pfork() == 0)
e6a2505
     { /* the child --- replace standard in and out with descriptors given */
e6a2505
-      close(0);
Jerry James e078710
-      massert(dup(fdin)>=0);
e6a2505
-      close(1);
Jerry James e078710
-      massert(dup(fdout)>=0);
Jerry James e078710
+      massert(dup2(fdin, 0)>=0);
Jerry James e078710
+      massert(dup2(fdout, 1)>=0);
e6a2505
+      close(fdin);
e6a2505
+      close(fdout);
385abae
       emsg("\n***** Spawning process %s ", pname);
e6a2505
       if (execvp(pname, argv) == -1)
e6a2505
 	{