diff options
author | Bruno Haible <bruno@clisp.org> | 2018-09-07 23:35:52 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2018-09-07 23:37:01 +0200 |
commit | 86b1dc8935e627c14f5d5f3141fbcc2ca7e900a3 (patch) | |
tree | 30988e12f51872e8d9c98e24eaacab5510a45732 /doc/posix-functions/posix_spawnp.texi | |
parent | e41da81043a9e191ff8e45c24af71b3bbc749ef6 (diff) | |
download | gnulib-86b1dc8935e627c14f5d5f3141fbcc2ca7e900a3.tar.gz |
posix_spawn_file_actions_addchdir: New module.
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.
Diffstat (limited to 'doc/posix-functions/posix_spawnp.texi')
-rw-r--r-- | doc/posix-functions/posix_spawnp.texi | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/doc/posix-functions/posix_spawnp.texi b/doc/posix-functions/posix_spawnp.texi index 01446fcd8a..6cfec28dc6 100644 --- a/doc/posix-functions/posix_spawnp.texi +++ b/doc/posix-functions/posix_spawnp.texi @@ -23,3 +23,7 @@ Portability problems not fixed by Gnulib: This function does not work on some platforms: AIX 6.1 (under particular circumstances), mingw. @end itemize + +The Gnulib module @code{posix_spawn_file_actions_addchdir} provides an +additional action, that consists in changing the current directory of +the child process before starting the specified program. |