Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -934,12 +934,12 @@ ;; *-*-msdosdjgpp*) have_processes="no" ;; *) - AC_CHECK_FUNCS([fork dup2 execvp kill _exit], [ - AS_IF([test x"$ac_cv_func_fork" = x"yes" \ + AC_CHECK_FUNCS([vfork dup2 execvp kill _exit], [ + AS_IF([test x"$ac_cv_func_vfork" = x"yes" \ -a x"$ac_cv_func_pipe" = x"yes" \ -a x"$ac_cv_func_dup2" = x"yes" \ -a x"$ac_cv_func_execvp" = x"yes" \ -a x"$ac_cv_func_kill" = x"yes" \ -a x"$ac_cv_func__exit" = x"yes"], [ Index: src/OFProcess.m ================================================================== --- src/OFProcess.m +++ src/OFProcess.m @@ -197,11 +197,11 @@ } @finally { posix_spawn_file_actions_destroy(&actions); posix_spawnattr_destroy(&attr); } # else - if ((_pid = fork()) == 0) { + if ((_pid = vfork()) == 0) { environ = env; close(_readPipe[0]); close(_writePipe[1]); dup2(_writePipe[0], 0);