summaryrefslogtreecommitdiff
path: root/modules/posix_spawn_file_actions_addchdir
Commit message (Collapse)AuthorAgeFilesLines
* Use the GL_CFLAG_GNULIB_WARNINGS for most AC_LIBOBJ compilation units.Bruno Haible2022-01-091-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * modules/_Exit (configure.ac): Define an Automake conditional. Remove the AC_LIBOBJ invocation. (Makefile.am): Augment lib_SOURCES, guarded by that Automake conditional. * modules/accept: Likewise. * modules/access: Likewise. * modules/acosf: Likewise. * modules/acosl: Likewise. * modules/aligned_alloc: Likewise. * modules/alphasort: Likewise. * modules/argz: Likewise. * modules/asinf: Likewise. * modules/asinl: Likewise. * modules/atan2f: Likewise. * modules/atanf: Likewise. * modules/atanl: Likewise. * modules/atexit: Likewise. * modules/atoll: Likewise. * modules/bind: Likewise. * modules/btowc: Likewise. * modules/c32rtomb: Likewise. * modules/canonicalize-lgpl: Likewise. * modules/cbrt: Likewise. * modules/cbrtf: Likewise. * modules/cbrtl: Likewise. * modules/ceil: Likewise. * modules/ceilf: Likewise. * modules/ceill: Likewise. * modules/chdir-long: Likewise. * modules/chown: Likewise. * modules/close: Likewise. * modules/closedir: Likewise. * modules/cnd: Likewise. * modules/connect: Likewise. * modules/copy-file-range: Likewise. * modules/copysign: Likewise. * modules/copysignf: Likewise. * modules/copysignl: Likewise. * modules/cosf: Likewise. * modules/coshf: Likewise. * modules/cosl: Likewise. * modules/creat: Likewise. * modules/crypto/gc: Likewise. * modules/ctime: Likewise. * modules/dirfd: Likewise. * modules/dup: Likewise. * modules/dup2: Likewise. * modules/duplocale: Likewise. * modules/error: Likewise. * modules/euidaccess: Likewise. * modules/execinfo: Likewise. * modules/execl: Likewise. * modules/execle: Likewise. * modules/execlp: Likewise. * modules/execv: Likewise. * modules/execve: Likewise. * modules/execvp: Likewise. * modules/execvpe: Likewise. * modules/exp2: Likewise. * modules/exp2f: Likewise. * modules/exp2l: Likewise. * modules/expf: Likewise. * modules/expl: Likewise. * modules/explicit_bzero: Likewise. * modules/expm1: Likewise. * modules/expm1f: Likewise. * modules/expm1l: Likewise. * modules/fabsf: Likewise. * modules/fabsl: Likewise. * modules/faccessat: Likewise. * modules/fchdir: Likewise. * modules/fchmodat: Likewise. * modules/fchownat: Likewise. * modules/fclose: Likewise. * modules/fcntl: Likewise. * modules/fdatasync: Likewise. * modules/fdopen: Likewise. * modules/fdopendir: Likewise. * modules/fflush: Likewise. * modules/ffs: Likewise. * modules/ffsl: Likewise. * modules/ffsll: Likewise. * modules/fileblocks: Likewise. * modules/float: Likewise. * modules/flock: Likewise. * modules/floor: Likewise. * modules/floorf: Likewise. * modules/floorl: Likewise. * modules/fma: Likewise. * modules/fmaf: Likewise. * modules/fmal: Likewise. * modules/fmod: Likewise. * modules/fmodf: Likewise. * modules/fmodl: Likewise. * modules/forkpty: Likewise. * modules/fpending: Likewise. * modules/fpurge: Likewise. * modules/freadable: Likewise. * modules/freadahead: Likewise. * modules/freadptr: Likewise. * modules/free-posix: Likewise. * modules/freopen: Likewise. * modules/frexpf: Likewise. * modules/fseek: Likewise. * modules/fseeko: Likewise. * modules/fseterr: Likewise. * modules/fstat: Likewise. * modules/fstatat: Likewise. * modules/fsusage: Likewise. * modules/fsync: Likewise. * modules/ftell: Likewise. * modules/ftello: Likewise. * modules/ftruncate: Likewise. * modules/fts: Likewise. * modules/futimens: Likewise. * modules/fwritable: Likewise. * modules/fwriting: Likewise. * modules/getaddrinfo: Likewise. * modules/getcwd: Likewise. * modules/getcwd-lgpl: Likewise. * modules/getdelim: Likewise. * modules/getdomainname: Likewise. * modules/getdtablesize: Likewise. * modules/getentropy: Likewise. * modules/getgroups: Likewise. * modules/gethostname: Likewise. * modules/getline: Likewise. * modules/getloadavg: Likewise. * modules/getlogin: Likewise. * modules/getlogin_r: Likewise. * modules/getopt-posix: Likewise. * modules/getpagesize: Likewise. * modules/getpeername: Likewise. * modules/getrandom: Likewise. * modules/getrusage: Likewise. * modules/getsockname: Likewise. * modules/getsockopt: Likewise. * modules/getsubopt: Likewise. * modules/gettimeofday: Likewise. * modules/getumask: Likewise. * modules/getusershell: Likewise. * modules/glob: Likewise. * modules/grantpt: Likewise. * modules/group-member: Likewise. * modules/hypot: Likewise. * modules/hypotf: Likewise. * modules/hypotl: Likewise. * modules/iconv_open: Likewise. * modules/ilogb: Likewise. * modules/ilogbf: Likewise. * modules/ilogbl: Likewise. * modules/imaxabs: Likewise. * modules/imaxdiv: Likewise. * modules/inet_ntop: Likewise. * modules/inet_pton: Likewise. * modules/ioctl: Likewise. * modules/isapipe: Likewise. * modules/isatty: Likewise. * modules/isblank: Likewise. * modules/isfinite: Likewise. * modules/isinf: Likewise. * modules/iswblank: Likewise. * modules/iswctype: Likewise. * modules/iswdigit: Likewise. * modules/iswxdigit: Likewise. * modules/lchmod: Likewise. * modules/lchown: Likewise. * modules/ldexpf: Likewise. * modules/ldexpl: Likewise. * modules/libgmp: Likewise. * modules/link: Likewise. * modules/linkat: Likewise. * modules/listen: Likewise. * modules/localeconv: Likewise. * modules/localtime: Likewise. * modules/log: Likewise. * modules/log10: Likewise. * modules/log10f: Likewise. * modules/log10l: Likewise. * modules/log1p: Likewise. * modules/log1pf: Likewise. * modules/log1pl: Likewise. * modules/log2: Likewise. * modules/log2f: Likewise. * modules/log2l: Likewise. * modules/logb: Likewise. * modules/logbf: Likewise. * modules/logbl: Likewise. * modules/logf: Likewise. * modules/login_tty: Likewise. * modules/logl: Likewise. * modules/lseek: Likewise. * modules/lstat: Likewise. * modules/mbrlen: Likewise. * modules/mbrtoc32: Likewise. * modules/mbrtowc: Likewise. * modules/mbsinit: Likewise. * modules/mbsnrtowcs: Likewise. * modules/mbsrtowcs: Likewise. * modules/mbtowc: Likewise. * modules/memalign: Likewise. * modules/memchr: Likewise. * modules/memcmp: Likewise. * modules/memcpy: Likewise. * modules/memmove: Likewise. * modules/mempcpy: Likewise. * modules/memrchr: Likewise. * modules/memset: Likewise. * modules/mkdir: Likewise. * modules/mkdirat: Likewise. * modules/mkdtemp: Likewise. * modules/mkfifo: Likewise. * modules/mkfifoat: Likewise. * modules/mknod: Likewise. * modules/mkostemp: Likewise. * modules/mkostemps: Likewise. * modules/mkstemp: Likewise. * modules/mkstemps: Likewise. * modules/modf: Likewise. * modules/modff: Likewise. * modules/modfl: Likewise. * modules/mountlist: Likewise. * modules/msvc-inval: Likewise. * modules/msvc-nothrow: Likewise. * modules/mtx: Likewise. * modules/nanosleep: Likewise. * modules/nl_langinfo: Likewise. * modules/obstack: Likewise. * modules/open: Likewise. * modules/openat: Likewise. * modules/opendir: Likewise. * modules/openpty: Likewise. * modules/pclose: Likewise. * modules/perror: Likewise. * modules/pipe-posix: Likewise. * modules/poll: Likewise. * modules/popen: Likewise. * modules/posix_memalign: Likewise. * modules/posix_openpt: Likewise. * modules/posix_spawn: Likewise. * modules/posix_spawn-internal: Likewise. * modules/posix_spawn_file_actions_addchdir: Likewise. * modules/posix_spawn_file_actions_addclose: Likewise. * modules/posix_spawn_file_actions_adddup2: Likewise. * modules/posix_spawn_file_actions_addfchdir: Likewise. * modules/posix_spawn_file_actions_addopen: Likewise. * modules/posix_spawn_file_actions_destroy: Likewise. * modules/posix_spawn_file_actions_init: Likewise. * modules/posix_spawnattr_destroy: Likewise. * modules/posix_spawnattr_getflags: Likewise. * modules/posix_spawnattr_getpgroup: Likewise. * modules/posix_spawnattr_getschedparam: Likewise. * modules/posix_spawnattr_getschedpolicy: Likewise. * modules/posix_spawnattr_getsigdefault: Likewise. * modules/posix_spawnattr_getsigmask: Likewise. * modules/posix_spawnattr_init: Likewise. * modules/posix_spawnattr_setflags: Likewise. * modules/posix_spawnattr_setpgroup: Likewise. * modules/posix_spawnattr_setschedparam: Likewise. * modules/posix_spawnattr_setschedpolicy: Likewise. * modules/posix_spawnattr_setsigdefault: Likewise. * modules/posix_spawnattr_setsigmask: Likewise. * modules/posix_spawnp: Likewise. * modules/powf: Likewise. * modules/pread: Likewise. * modules/pselect: Likewise. * modules/pthread-cond: Likewise. * modules/pthread-mutex: Likewise. * modules/pthread-once: Likewise. * modules/pthread-rwlock: Likewise. * modules/pthread-spin: Likewise. * modules/pthread-thread: Likewise. * modules/pthread-tss: Likewise. * modules/pthread_mutex_timedlock: Likewise. * modules/pthread_sigmask: Likewise. * modules/ptsname: Likewise. * modules/ptsname_r: Likewise. * modules/putenv: Likewise. * modules/pwrite: Likewise. * modules/qsort_r: Likewise. * modules/raise: Likewise. * modules/random: Likewise. * modules/random_r: Likewise. * modules/rawmemchr: Likewise. * modules/read: Likewise. * modules/readdir: Likewise. * modules/readline: Likewise. * modules/readlink: Likewise. * modules/readlinkat: Likewise. * modules/readutmp: Likewise. * modules/reallocarray: Likewise. * modules/recv: Likewise. * modules/recvfrom: Likewise. * modules/regex: Likewise. * modules/relocatable-prog: Likewise. * modules/remainder: Likewise. * modules/remainderf: Likewise. * modules/remainderl: Likewise. * modules/remove: Likewise. * modules/rename: Likewise. * modules/renameat: Likewise. * modules/rewinddir: Likewise. * modules/rint: Likewise. * modules/rintf: Likewise. * modules/rintl: Likewise. * modules/rmdir: Likewise. * modules/round: Likewise. * modules/roundf: Likewise. * modules/roundl: Likewise. * modules/rpmatch: Likewise. * modules/scandir: Likewise. * modules/sched_yield: Likewise. * modules/secure_getenv: Likewise. * modules/select: Likewise. * modules/selinux-h: Likewise. * modules/send: Likewise. * modules/sendto: Likewise. * modules/setenv: Likewise. * modules/sethostname: Likewise. * modules/setlocale: Likewise. * modules/setlocale-null: Likewise. * modules/setsockopt: Likewise. * modules/shutdown: Likewise. * modules/sig2str: Likewise. * modules/sigabbrev_np: Likewise. * modules/sigaction: Likewise. * modules/sigdescr_np: Likewise. * modules/signbit: Likewise. * modules/sigprocmask: Likewise. * modules/sinf: Likewise. * modules/sinhf: Likewise. * modules/sinl: Likewise. * modules/sleep: Likewise. * modules/socket: Likewise. * modules/spawn-pipe: Likewise. * modules/sqrtf: Likewise. * modules/sqrtl: Likewise. * modules/stat: Likewise. * modules/stdio: Likewise. * modules/stpcpy: Likewise. * modules/stpncpy: Likewise. * modules/strcase: Likewise. * modules/strchrnul: Likewise. * modules/strcspn: Likewise. * modules/strdup-posix: Likewise. * modules/strerror: Likewise. * modules/strerror-override: Likewise. * modules/strerrorname_np: Likewise. * modules/strfmon_l: Likewise. * modules/strftime-fixes: Likewise. * modules/strncat: Likewise. * modules/strndup: Likewise. * modules/strnlen: Likewise. * modules/strpbrk: Likewise. * modules/strptime: Likewise. * modules/strsep: Likewise. * modules/strsignal: Likewise. * modules/strtod: Likewise. * modules/strtoimax: Likewise. * modules/strtok_r: Likewise. * modules/strtol: Likewise. * modules/strtold: Likewise. * modules/strtoll: Likewise. * modules/strtoul: Likewise. * modules/strtoull: Likewise. * modules/strtoumax: Likewise. * modules/strverscmp: Likewise. * modules/symlink: Likewise. * modules/symlinkat: Likewise. * modules/tanf: Likewise. * modules/tanhf: Likewise. * modules/tanl: Likewise. * modules/tcgetsid: Likewise. * modules/thrd: Likewise. * modules/time_r: Likewise. * modules/time_rz: Likewise. * modules/timegm: Likewise. * modules/times: Likewise. * modules/timespec_get: Likewise. * modules/timespec_getres: Likewise. * modules/tmpfile: Likewise. * modules/towctrans: Likewise. * modules/trunc: Likewise. * modules/truncate: Likewise. * modules/truncf: Likewise. * modules/truncl: Likewise. * modules/tsearch: Likewise. * modules/tss: Likewise. * modules/ttyname_r: Likewise. * modules/tzset: Likewise. * modules/uname: Likewise. * modules/unlink: Likewise. * modules/unlinkat: Likewise. * modules/unlockpt: Likewise. * modules/unsetenv: Likewise. * modules/usleep: Likewise. * modules/utime: Likewise. * modules/utimensat: Likewise. * modules/waitpid: Likewise. * modules/wcpcpy: Likewise. * modules/wcpncpy: Likewise. * modules/wcrtomb: Likewise. * modules/wcscasecmp: Likewise. * modules/wcscat: Likewise. * modules/wcschr: Likewise. * modules/wcscmp: Likewise. * modules/wcscoll: Likewise. * modules/wcscpy: Likewise. * modules/wcscspn: Likewise. * modules/wcsdup: Likewise. * modules/wcsftime: Likewise. * modules/wcslen: Likewise. * modules/wcsncasecmp: Likewise. * modules/wcsncat: Likewise. * modules/wcsncmp: Likewise. * modules/wcsncpy: Likewise. * modules/wcsnlen: Likewise. * modules/wcsnrtombs: Likewise. * modules/wcspbrk: Likewise. * modules/wcsrchr: Likewise. * modules/wcsrtombs: Likewise. * modules/wcsspn: Likewise. * modules/wcsstr: Likewise. * modules/wcstok: Likewise. * modules/wcswidth: Likewise. * modules/wcsxfrm: Likewise. * modules/wctob: Likewise. * modules/wctomb: Likewise. * modules/wctrans: Likewise. * modules/wctype: Likewise. * modules/wcwidth: Likewise. * modules/windows-cond: Likewise. * modules/windows-mutex: Likewise. * modules/windows-once: Likewise. * modules/windows-recmutex: Likewise. * modules/windows-rwlock: Likewise. * modules/windows-spawn: Likewise. * modules/windows-spin: Likewise. * modules/windows-thread: Likewise. * modules/windows-timedmutex: Likewise. * modules/windows-timedrecmutex: Likewise. * modules/windows-timedrwlock: Likewise. * modules/windows-tls: Likewise. * modules/wmemchr: Likewise. * modules/wmemcmp: Likewise. * modules/wmemcpy: Likewise. * modules/wmemmove: Likewise. * modules/wmempcpy: Likewise. * modules/wmemset: Likewise. * modules/write: Likewise.
* posix_spawn_file_actions_addchdir: New module.Bruno Haible2018-09-071-0/+30
Suggested by Eric Blake in <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>. * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration. * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and union member 'chdir_action'. * lib/spawn_faction_addchdir.c: New file. * lib/spawni.c (__spawni): Implement the spawn_do_chdir action. * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of HAVE_WORKING_POSIX_SPAWN. * lib/spawn_faction_adddup2.c: Likewise. * lib/spawn_faction_addopen.c: Likewise. * m4/posix_spawn_faction_addchdir.m4: New file. * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module 'posix_spawn_file_actions_addchdir' is present and whether posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN instead of HAVE_WORKING_POSIX_SPAWN. * m4/spawn_h.m4 (gl_SPAWN_H): Test whether posix_spawn_file_actions_addchdir is declared. (gl_SPAWN_H_DEFAULTS): Initialize GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR, HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR, REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR. * modules/spawn (Makefile.am): Substitute GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR, HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR, REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR. * modules/posix_spawn_file_actions_addchdir: New file. * modules/posix_spawn_file_actions_addclose (Depends-on, configure.ac): Test also REPLACE_POSIX_SPAWN. * modules/posix_spawn_file_actions_adddup2 (Depends-on, configure.ac): Likewise. * modules/posix_spawn_file_actions_addopen (Depends-on, configure.ac): Likewise. * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check signature. * doc/posix-functions/posix_spawn.texi: Mention the new module. * doc/posix-functions/posix_spawnp.texi: Likewise.