Edit

kc3-lang/gnulib/lib/spawnattr_setflags.c

Branch :

  • Show log

    Commit

  • Author : Simon Josefsson
    Date : 2024-01-01 10:31:48
    Hash : 5b92dd0a
    Message : maint: run 'make update-copyright'

  • lib/spawnattr_setflags.c
  • /* Copyright (C) 2000, 2004, 2009-2024 Free Software Foundation, Inc.
       This file is part of the GNU C Library.
    
       This file is free software: you can redistribute it and/or modify
       it under the terms of the GNU Lesser General Public License as
       published by the Free Software Foundation; either version 2.1 of the
       License, or (at your option) any later version.
    
       This file is distributed in the hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       GNU Lesser General Public License for more details.
    
       You should have received a copy of the GNU Lesser General Public License
       along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
    
    #include <config.h>
    
    /* Specification.  */
    #include <spawn.h>
    
    #include <errno.h>
    #include <string.h>
    
    #define ALL_FLAGS (POSIX_SPAWN_RESETIDS                                       \
                       | POSIX_SPAWN_SETPGROUP                                    \
                       | POSIX_SPAWN_SETSIGDEF                                    \
                       | POSIX_SPAWN_SETSIGMASK                                   \
                       | POSIX_SPAWN_SETSCHEDPARAM                                \
                       | POSIX_SPAWN_SETSCHEDULER                                 \
                       | POSIX_SPAWN_USEVFORK)
    
    /* Store flags in the attribute structure.  */
    int
    posix_spawnattr_setflags (posix_spawnattr_t *attr, short int flags)
    {
      /* Check no invalid bits are set.  */
      if (flags & ~ALL_FLAGS)
        return EINVAL;
    
      /* Store the flag word.  */
      attr->_flags = flags;
    
      return 0;
    }