> +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.

You need to append "with previous versions of @command{autoconf}" here.


> +In case you prefer to use @code{fork} whereever possible, use this code:
> +@example
> +@group
> +#if HAVE_WORKING_FORK
> +# define vfork fork
> +#endif
> +but still use @code{vfork} whereever it can be used portably.

It's a bit confusing to suggest to people that they use a macro that
is incompatible with common practice and with previous versions of
autoconf, without much explanation.

The simplest way to fix this confusion is to remove the above-quoted
text.  If you really want to document this stuff, you should recommend
the following instead, as it's less confusiong:

  #if HAVE_WORKING_FORK || ! HAVE_WORKING_VFORK
  # define vfork fork
  #endif

If you go this route, you should discuss that this is a change from
previous practice, and you should discuss who should prefer the change
and why.  Possible reasons for wanting this change are:

- You don't care about performance that much.
- Your program is small so the performance difference doesn't matter.
- You don't want to worry about vfork bugs in various implementations.
- You want to run on non-POSIX platforms like AmigaOS.

Reply via email to