bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: posix_spawn on AIX


From: Bruno Haible
Subject: Re: posix_spawn on AIX
Date: Sun, 5 Oct 2008 13:51:30 +0200
User-agent: KMail/1.5.4

> 2008-10-04  Bruno Haible  <address@hidden>
> 
>       * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
>       Reported by Rainer Tammer <address@hidden>.

It may be wiser to reuse the values of these macros when defined by the system.
Applied this:


2008-10-05  Bruno Haible  <address@hidden>

        * 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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]