annotate modules/spawn @ 16257:a5001764146b

posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug. * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New macro. * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN. * lib/spawn_faction_addopen.c: Add workaround implementation if HAVE_WORKING_POSIX_SPAWN. * modules/spawn (Makefile): Substitute REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN. (Depends-on): Update conditions. * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention the Solaris 11 bug.
author Bruno Haible <bruno@clisp.org>
date Sun, 08 Jan 2012 22:31:53 +0100
parents e32fc9c363fe
children 1f14c6dd175d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1 Description:
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2 A POSIX compliant <spawn.h>.
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
4 Files:
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 lib/spawn.in.h
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
6 m4/spawn_h.m4
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
7
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8 Depends-on:
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
9 include_next
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
10 sched
15415
768296dab89a Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
Bruno Haible <bruno@clisp.org>
parents: 14894
diff changeset
11 snippet/arg-nonnull
15416
10b35faca629 Rename module 'c++defs' to 'snippet/c++defs'.
Bruno Haible <bruno@clisp.org>
parents: 15415
diff changeset
12 snippet/c++defs
15419
d2437ed29d20 Rename module 'warn-on-use' to 'snippet/warn-on-use'.
Bruno Haible <bruno@clisp.org>
parents: 15416
diff changeset
13 snippet/warn-on-use
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
14
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
15 configure.ac:
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
16 gl_SPAWN_H
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
17
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
18 Makefile.am:
12536
cd64e80f94e4 link-warning: always build headers with link warnings
Eric Blake <ebb9@byu.net>
parents: 12534
diff changeset
19 BUILT_SOURCES += spawn.h
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
20
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
21 # We need the following in order to create a replacement for <spawn.h> when
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
22 # the system doesn't have one.
14527
049942251f65 Ensure to rebuild generated .h files when config.status has changed.
Bruno Haible <bruno@clisp.org>
parents: 14273
diff changeset
23 spawn.h: spawn.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
11868
67c2b22aff08 annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
Jim Meyering <meyering@redhat.com>
parents: 10504
diff changeset
24 $(AM_V_GEN)rm -f $@-t $@ && \
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
25 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
14840
5f709022a256 Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents: 14527
diff changeset
26 sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
5f709022a256 Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents: 14527
diff changeset
27 -e 's|@''HAVE_SPAWN_H''@|$(HAVE_SPAWN_H)|g' \
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
28 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
29 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
13761
a19ace3ba849 Avoid line length limitation from HP NonStop system header files.
Bruno Haible <bruno@clisp.org>
parents: 13288
diff changeset
30 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
31 -e 's|@''NEXT_SPAWN_H''@|$(NEXT_SPAWN_H)|g' \
14894
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
32 -e 's/@''GNULIB_POSIX_SPAWN''@/$(GNULIB_POSIX_SPAWN)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
33 -e 's/@''GNULIB_POSIX_SPAWNP''@/$(GNULIB_POSIX_SPAWNP)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
34 -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
35 -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
36 -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
37 -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
38 -e 's/@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY''@/$(GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
39 -e 's/@''GNULIB_POSIX_SPAWNATTR_INIT''@/$(GNULIB_POSIX_SPAWNATTR_INIT)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
40 -e 's/@''GNULIB_POSIX_SPAWNATTR_GETFLAGS''@/$(GNULIB_POSIX_SPAWNATTR_GETFLAGS)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
41 -e 's/@''GNULIB_POSIX_SPAWNATTR_SETFLAGS''@/$(GNULIB_POSIX_SPAWNATTR_SETFLAGS)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
42 -e 's/@''GNULIB_POSIX_SPAWNATTR_GETPGROUP''@/$(GNULIB_POSIX_SPAWNATTR_GETPGROUP)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
43 -e 's/@''GNULIB_POSIX_SPAWNATTR_SETPGROUP''@/$(GNULIB_POSIX_SPAWNATTR_SETPGROUP)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
44 -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM''@/$(GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
45 -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM''@/$(GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
46 -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY''@/$(GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
47 -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY''@/$(GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
48 -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT''@/$(GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
49 -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT''@/$(GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
50 -e 's/@''GNULIB_POSIX_SPAWNATTR_GETSIGMASK''@/$(GNULIB_POSIX_SPAWNATTR_GETSIGMASK)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
51 -e 's/@''GNULIB_POSIX_SPAWNATTR_SETSIGMASK''@/$(GNULIB_POSIX_SPAWNATTR_SETSIGMASK)/g' \
b22360ddefc4 gnulib-tool: Better isolation between different gnulib-tool invocations.
Bruno Haible <bruno@clisp.org>
parents: 14840
diff changeset
52 -e 's/@''GNULIB_POSIX_SPAWNATTR_DESTROY''@/$(GNULIB_POSIX_SPAWNATTR_DESTROY)/g' \
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
53 -e 's|@''HAVE_POSIX_SPAWN''@|$(HAVE_POSIX_SPAWN)|g' \
12534
df55cbe78453 spawn: improve wrapper support
Eric Blake <ebb9@byu.net>
parents: 12422
diff changeset
54 -e 's|@''HAVE_POSIX_SPAWNATTR_T''@|$(HAVE_POSIX_SPAWNATTR_T)|g' \
df55cbe78453 spawn: improve wrapper support
Eric Blake <ebb9@byu.net>
parents: 12422
diff changeset
55 -e 's|@''HAVE_POSIX_SPAWN_FILE_ACTIONS_T''@|$(HAVE_POSIX_SPAWN_FILE_ACTIONS_T)|g' \
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
56 -e 's|@''REPLACE_POSIX_SPAWN''@|$(REPLACE_POSIX_SPAWN)|g' \
16255
e5b440980b6c posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
Bruno Haible <bruno@clisp.org>
parents: 15419
diff changeset
57 -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE)|g' \
16256
e32fc9c363fe posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
Bruno Haible <bruno@clisp.org>
parents: 16255
diff changeset
58 -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2)|g' \
16257
a5001764146b posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
Bruno Haible <bruno@clisp.org>
parents: 16256
diff changeset
59 -e 's|@''REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@|$(REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN)|g' \
12939
cfcc4a6e1c21 spawn: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents: 12766
diff changeset
60 -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
12422
f7842310a565 New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
Bruno Haible <bruno@clisp.org>
parents: 12410
diff changeset
61 -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
12766
2c14f1e449e5 warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents: 12536
diff changeset
62 -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
63 < $(srcdir)/spawn.in.h; \
11868
67c2b22aff08 annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
Jim Meyering <meyering@redhat.com>
parents: 10504
diff changeset
64 } > $@-t && \
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
65 mv $@-t $@
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
66 MOSTLYCLEANFILES += spawn.h spawn.h-t
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
67
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
68 Include:
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
69 <spawn.h>
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
70
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
71 License:
13288
0083b2c84821 headers: relax license to LGPLv2+
Eric Blake <eblake@redhat.com>
parents: 12939
diff changeset
72 LGPLv2+
10504
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
73
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
74 Maintainer:
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
75 Bruno Haible, glibc
21e72b03bb51 New module 'spawn'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
76