>--[Eric Siegerman]--<[EMAIL PROTECTED]>
> On Mon, Jun 18, 2001 at 03:29:17PM +0200, Rüdiger Kuhlmann wrote:
> > [fork + vfork + ac_fork + ac_vfork]
> > I guess you know _I_ agree, but "the others" don't seem so.
> Suits me just fine.
Okay, people, what do you think about this:
v--- *grrr*
2001-06-19 Rüdiger Kuhlmann <[EMAIL PROTECTED]>
* acfunctions.m4: (AC_FUNC_FORK) Define ac_fork to fork, if it
works, and to vfork otherwise; similarly define ac_vfork.
* doc/autoconf.texi: Document changes to AC_FUNC_FORK.
Index: acfunctions.m4
===================================================================
RCS file: /cvs/autoconf/acfunctions.m4,v
retrieving revision 1.40
diff -u -r1.40 acfunctions.m4
--- acfunctions.m4 2001/06/18 19:36:10 1.40
+++ acfunctions.m4 2001/06/18 23:39:43
@@ -1428,7 +1428,7 @@
if test "x$ac_cv_func_fork_works" = xcross; then
case $host in
*-*-amigaos* | *-*-msdosdjgpp*)
- # Override, as these systems have only a dummy fork() stub
+ # Override, as these systems only have a dummy fork() stub
ac_cv_func_fork_works=no
;;
*)
@@ -1448,11 +1448,16 @@
if test "x$ac_cv_func_vfork_works" = xyes; then
AC_DEFINE(HAVE_WORKING_VFORK, 1, [Define if `vfork' works.])
+ AC_DEFINE(ac_vfork, vfork, [Define to `vfork' if it works, otherwise to `fork'])
else
AC_DEFINE(vfork, fork, [Define as `fork' if `vfork' does not work.])
+ AC_DEFINE(ac_vfork, fork, [Define to `vfork' if it works, otherwise to `fork'])
fi
if test "x$ac_cv_func_fork_works" = xyes; then
AC_DEFINE(HAVE_WORKING_FORK, 1, [Define if `fork' works.])
+ AC_DEFINE(ac_fork, fork, [Define to `fork' if it works, otherwise to `vfork'])
+else
+ AC_DEFINE(ac_fork, vfork, [Define to `fork' if it works, otherwise to `vfork'])
fi
])# AC_FUNC_FORK
Index: doc/autoconf.texi
===================================================================
RCS file: /cvs/autoconf/doc/autoconf.texi,v
retrieving revision 1.471
diff -u -r1.471 autoconf.texi
--- doc/autoconf.texi 2001/06/18 19:11:24 1.471
+++ doc/autoconf.texi 2001/06/18 23:40:15
@@ -3286,26 +3286,35 @@
checks whether @code{fork} is just a stub by trying to run it.
If @file{vfork.h} is found, define @code{HAVE_VFORK_H}. If a working
-@code{vfork} is found, define @code{HAVE_WORKING_VFORK}. Otherwise,
-define @code{vfork} to be @code{fork} for backward compatibility with
-previous versions of @command{autoconf}. This macro checks for several known
-errors in implementations of @code{vfork} and considers the system to not
-have a working @code{vfork} if it detects any of them. It is not considered
-to be an implementation error if a child's invocation of @code{signal}
-modifies the parent's signal handler, since child processes rarely change
-their signal handlers.
+@code{vfork} is found, define @code{HAVE_WORKING_VFORK}.
+This macro checks for several known errors in implementations of
+@code{vfork} and considers the system to not have a working @code{vfork} if
+it detects any of them. It is not considered to be an implementation error
+if a child's invocation of @code{signal} modifies the parent's signal
+handler, since child processes rarely change their signal handlers.
-Since this macro defines @code{vfork} only for backward compatibility with
-previous versions of @command{autoconf} you're encouraged to define it
-yourself in new code:
+For backward compatibility with previous versions of @command{autoconf}, it
+defines @code{vfork} to be @code{fork} if @code{vfork} does not work. As a
+replacement, it defines @code{ac_fork} to @code{fork}, if it works, and to
+@code{vfork} otherwise, and @code{ac_vfork} to @code{vfork}, if it works,
+and to @code{fork} otherwise. For a @code{vfork} use @code{ac_fork}, if you
+want to avoid broken implementations of @code{vfork} at all costs, and
+@code{ac_vfork}, if you prefer the performance increase @code{vfork} gives
+you over @code{fork}. Feel free to redefine @code{vfork} to either symbol,
+or do something like the following for @code{ac_vfork}:
@example
@group
+#if defined(vfork)
+# undef vfork
+#endif
#if !HAVE_WORKING_VFORK
# define vfork fork
#endif
@end group
@end example
@end defmac
+Beware that you need to undefine @code{vfork} as long as autoconf
+defines it for backward compatibility.
@defmac AC_FUNC_FSEEKO
@maindex FUNC_FSEEKO
--
A "No" uttered from deepest conviction is better and greater than a
"Yes" merely uttered to please, or what is worse, to avoid trouble.
-- Mahatma Ghandi