Joel E. Denny wrote: > Bison version 2.4.2 is now available. This is primarily a bug-fix > release.
This bison release does not work on FreeBSD 8-STABLE or FreeBSD 9 (development). Spawning processes is broken in the same way as happened in the latest GNU m4 release. And apparently results from the same bug in gnulib (that was fixed on 2 March). This bison release is likely unusable on all non-Linux systems that define their own posix_spawn() function and defines. The bug does not affect systems that use the gnulib replacement function. A patch is attached. I hope this will be in the next release. Regards, Johan
2010-03-02 Bruno Haible <[email protected]> spawn: Don't override the system defined values on FreeBSD 8. * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP, POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK, POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine if HAVE_POSIX_SPAWN is 1. Reported by Johan van Selst <[email protected]> via Eric Blake. *** lib/spawn.in.h.orig Tue Mar 2 11:53:02 2010 --- lib/spawn.in.h Tue Mar 2 11:48:54 2010 *************** *** 110,126 **** /* Flags to be set in the `posix_spawnattr_t'. */ ! #if @REPLACE_POSIX_SPAWN@ /* Use the values from the system, for better compatibility. */ /* But this implementation does not support AIX extensions. */ ! # undef POSIX_SPAWN_FORK_HANDLERS ! #else ! # define POSIX_SPAWN_RESETIDS 0x01 ! # define POSIX_SPAWN_SETPGROUP 0x02 ! # define POSIX_SPAWN_SETSIGDEF 0x04 ! # define POSIX_SPAWN_SETSIGMASK 0x08 ! # define POSIX_SPAWN_SETSCHEDPARAM 0x10 ! # define POSIX_SPAWN_SETSCHEDULER 0x20 #endif /* A GNU extension. Use the next free bit position. */ #define POSIX_SPAWN_USEVFORK \ --- 110,128 ---- /* Flags to be set in the `posix_spawnattr_t'. */ ! #if !...@have_posix_spawn@ ! # if @REPLACE_POSIX_SPAWN@ /* Use the values from the system, for better compatibility. */ /* But this implementation does not support AIX extensions. */ ! # undef POSIX_SPAWN_FORK_HANDLERS ! # else ! # define POSIX_SPAWN_RESETIDS 0x01 ! # define POSIX_SPAWN_SETPGROUP 0x02 ! # define POSIX_SPAWN_SETSIGDEF 0x04 ! # define POSIX_SPAWN_SETSIGMASK 0x08 ! # define POSIX_SPAWN_SETSCHEDPARAM 0x10 ! # define POSIX_SPAWN_SETSCHEDULER 0x20 ! # endif #endif /* A GNU extension. Use the next free bit position. */ #define POSIX_SPAWN_USEVFORK \
pgpHmnaDWVe9d.pgp
Description: PGP signature
