|
From: Martin R. <ru...@us...> - 2004-08-05 23:57:19
|
Update of /cvsroot/foo/foo/elkfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17219/src Modified Files: misc.c Log Message: fixed wait() issues Index: misc.c =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/misc.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** misc.c 5 Aug 2004 23:39:47 -0000 1.5 --- misc.c 5 Aug 2004 23:57:09 -0000 1.6 *************** *** 111,118 **** s = Get_String(cmd); ! #ifdef VFORK ! switch (pid = vfork ()) #else ! switch (pid = fork ()) #endif { --- 111,120 ---- s = Get_String(cmd); ! #ifdef HAVE_WORKING_VFORK ! switch (pid = vfork()) ! #elif HAVE_WORKING_FORK ! switch (pid = fork()) #else ! #error *** NEITHER VFORK NOR FORK ARE REPORTED TO WORK *** #endif { *************** *** 145,153 **** return False; } ! if ((n = (status.w_status & 0377))) { ! return Cons (Make_Fixnum (n), Null); } ! return Make_Fixnum ((status.w_status >> 8) & 0377); } --- 147,161 ---- return False; } ! if (WIFSIGNALED(n)) { ! return Cons(Make_Fixnum(WTERMSIG(n)), Null); } ! else if (WIFSTOPPED(n)) ! { ! return Make_Fixnum(WSTOPSIG(n)); ! } ! ! /* assert(WIFEXITED); */ ! return Make_Fixnum(WEXITSTATUS(n)); } |