Mark Elbrecht <snowball3@bigfoot.com>
GPLWithACException
This program is free software; you can
redistribute it and/or modify it under the terms of the GNU General Public License
as published by the Free Software Foundation. As a special exception, the respective
Autoconf Macro's copyright owner gives unlimited permission to copy, distribute and modify
the configure scripts that are the output of Autoconf when processing the Macro. You
need not follow the terms of the
GNU General Public License when using or distributing such scripts
cryp.to ac-archive's Miscellaneous (released)
Check to for a working fork. Use to provide a workaround for
systems that don't have a working fork. For example, the workaround
for the fork()/exec() sequence for DOS is to use spawn.
Defines HAVE_NO_FORK is fork() doesn't work or isn't implemented.
AC_DEFUN([ACX_FUNC_FORK],
[AC_MSG_CHECKING(for a working fork)
AC_CACHE_VAL(acx_cv_func_fork_works,
[AC_REQUIRE([AC_TYPE_PID_T])
AC_REQUIRE([AC_HEADER_SYS_WAIT])
AC_TRY_RUN([#include <sys/types.h>
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
int main()
{
int status;
pid_t child = fork();
if (child < 0) /* Error */
return (1);
else if (child == 0) /* Child */
return (0);
/* Parent */
status = (wait(&status) != child);
return (status >= 0) ? 0 : 1;
}
], acx_cv_func_fork_works=yes, acx_cv_func_fork_works=no, acx_cv_func_fork_works=no)
])
AC_MSG_RESULT($acx_cv_func_fork_works)
if test $acx_cv_func_fork_works = no; then
AC_DEFINE(HAVE_NO_FORK)
fi
])