> 2008-10-04 Bruno Haible <[EMAIL PROTECTED]> > > * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining. > Reported by Rainer Tammer <[EMAIL PROTECTED]>.
It may be wiser to reuse the values of these macros when defined by the system. Applied this: 2008-10-05 Bruno Haible <[EMAIL PROTECTED]> * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than overriding them by ours. (POSIX_SPAWN_USEVFORK): Use the next free bit position. *** lib/spawn.in.h.orig 2008-10-05 13:37:46.000000000 +0200 --- lib/spawn.in.h 2008-10-05 13:36:41.000000000 +0200 *************** *** 97,117 **** /* Flags to be set in the `posix_spawnattr_t'. */ ! #undef POSIX_SPAWN_RESETIDS ! #define POSIX_SPAWN_RESETIDS 0x01 ! #undef POSIX_SPAWN_SETPGROUP ! #define POSIX_SPAWN_SETPGROUP 0x02 ! #undef POSIX_SPAWN_SETSIGDEF ! #define POSIX_SPAWN_SETSIGDEF 0x04 ! #undef POSIX_SPAWN_SETSIGMASK ! #define POSIX_SPAWN_SETSIGMASK 0x08 ! #undef POSIX_SPAWN_SETSCHEDPARAM ! #define POSIX_SPAWN_SETSCHEDPARAM 0x10 ! #undef POSIX_SPAWN_SETSCHEDULER ! #define POSIX_SPAWN_SETSCHEDULER 0x20 ! /* A GNU extension. */ ! #undef POSIX_SPAWN_USEVFORK ! #define POSIX_SPAWN_USEVFORK 0x40 #ifdef __cplusplus --- 97,128 ---- /* 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 \ ! ((POSIX_SPAWN_RESETIDS | (POSIX_SPAWN_RESETIDS - 1) \ ! | POSIX_SPAWN_SETPGROUP | (POSIX_SPAWN_SETPGROUP - 1) \ ! | POSIX_SPAWN_SETSIGDEF | (POSIX_SPAWN_SETSIGDEF - 1) \ ! | POSIX_SPAWN_SETSIGMASK | (POSIX_SPAWN_SETSIGMASK - 1) \ ! | POSIX_SPAWN_SETSCHEDPARAM | (POSIX_SPAWN_SETSCHEDPARAM - 1) \ ! | POSIX_SPAWN_SETSCHEDULER | (POSIX_SPAWN_SETSCHEDULER - 1)) \ ! + 1) ! typedef int verify_POSIX_SPAWN_USEVFORK_no_overlap ! [2 * (((POSIX_SPAWN_RESETIDS | POSIX_SPAWN_SETPGROUP ! | POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETSIGMASK ! | POSIX_SPAWN_SETSCHEDPARAM | POSIX_SPAWN_SETSCHEDULER) ! & POSIX_SPAWN_USEVFORK) == 0) - 1]; #ifdef __cplusplus