Index: dmake/unix/runargv.c =================================================================== RCS file: /cvs/tools/dmake/unix/runargv.c,v retrieving revision 1.10.2.6 diff -u -r1.10.2.6 runargv.c --- dmake/unix/runargv.c 1 Dec 2006 01:16:58 -0000 1.10.2.6 +++ dmake/unix/runargv.c 2 Dec 2006 17:00:00 -0000 @@ -347,7 +347,11 @@ { /* spawn failed */ Error("%s: %s", argv[0], strerror(errno)); Handle_result(-1, ignore, _abort_flg, target); - return(-1); + /* Handle_result() aborts dmake if we are not told to + * ignore errors. If we reach the this point return 0 as + * errors are obviously ignored and indicate that the process + * finished. */ + return 0; } else { _add_child(pid, target, ignore, last, wfc); } @@ -378,7 +380,8 @@ } } execvp(argv[0], argv); - /* restoring output to catch potential error output. */ + /* restoring output to catch potential error output if execvp() + * failed. */ if( old_stdout != -1 ) { dup2(old_stdout, 1); if( old_stderr != -1 )