7fc6c88
--- o/run_process.c.orig	2010-08-04 15:44:27.000000000 -0600
7fc6c88
+++ o/run_process.c	2010-12-29 11:33:45.670403342 -0700
7fc6c88
@@ -528,10 +528,10 @@ char **argv;
e6a2505
   fdout = ostream->sm.sm_int0;
e6a2505
   if (fork() == 0)
e6a2505
     { /* the child --- replace standard in and out with descriptors given */
e6a2505
-      close(0);
e6a2505
-      dup(fdin);
e6a2505
-      close(1);
e6a2505
-      dup(fdout);
e6a2505
+      dup2(fdin, 0);
e6a2505
+      dup2(fdout, 1);
e6a2505
+      close(fdin);
e6a2505
+      close(fdout);
e6a2505
       fprintf(stderr, "\n***** Spawning process %s ", pname);
e6a2505
       if (execvp(pname, argv) == -1)
e6a2505
 	{