[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/7] spawn: Use special invocation for <spawn.h> on OS/2 kLIBC
From: |
KO Myung-Hun |
Subject: |
[PATCH 1/7] spawn: Use special invocation for <spawn.h> on OS/2 kLIBC |
Date: |
Tue, 19 Jan 2021 01:40:07 +0900 |
On OS/2 kLIBC, <spawn.h> includes <signal.h>. Then <signal.h> ->
<pthread.h> -> <sched.h> -> <spawn.h> are included by GNULIB.
In this situation, `struct sched_param' is not yet defined.
* lib/spawn.in.h: Use special invocation to include <spawn.h> properly
on OS/2 kLIBC.
---
lib/spawn.in.h | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/lib/spawn.in.h b/lib/spawn.in.h
index 326b79e6c..35e78e6cf 100644
--- a/lib/spawn.in.h
+++ b/lib/spawn.in.h
@@ -15,16 +15,33 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
-#ifndef _@GUARD_PREFIX@_SPAWN_H
-
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
@PRAGMA_COLUMNS@
+#if defined _GL_ALREADY_INCLUDING_SPAWN_H
+/* Special invocation convention:
+ On OS/2 kLIBC, <spawn.h> includes <signal.h>. Then <signal.h> ->
+ <pthread.h> -> <sched.h> -> <spawn.h> are included by GNULIB.
+ In this situation, struct sched_param is not yet defined. */
+
+#@INCLUDE_NEXT@ @NEXT_SPAWN_H@
+
+#else
+
+#ifndef _@GUARD_PREFIX@_SPAWN_H
+/* Normal invocation convention. */
+
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_SPAWN_H@
+
+# define _GL_ALREADY_INCLUDING_SPAWN_H
+
# @INCLUDE_NEXT@ @NEXT_SPAWN_H@
+
+# define _GL_ALREADY_INCLUDING_SPAWN_H
+
#endif
#ifndef _@GUARD_PREFIX@_SPAWN_H
@@ -972,3 +989,4 @@ _GL_WARN_ON_USE (posix_spawn_file_actions_addfchdir,
#endif /* _@GUARD_PREFIX@_SPAWN_H */
#endif /* _@GUARD_PREFIX@_SPAWN_H */
+#endif
--
2.22.0
- [PATCH 1/7] spawn: Use special invocation for <spawn.h> on OS/2 kLIBC,
KO Myung-Hun <=
- [PATCH 2/7] yield: Fix linkage to threadlib on OS/2 kLIBC, KO Myung-Hun, 2021/01/18
- [PATCH 4/7] stdlib: putenv() needs a cast on OS/2 kLIBC, KO Myung-Hun, 2021/01/18
- [PATCH 5/7] zerosize-ptr: Fix compilation on OS/2 kLIBC, KO Myung-Hun, 2021/01/18
- [PATCH 6/7] dirent: Redefine dirfd macro as a rpl function always, KO Myung-Hun, 2021/01/18
- [PATCH 3/7] stddef: Fix compilation for max_align_t on OS/2 kLIBC, KO Myung-Hun, 2021/01/18