summaryrefslogtreecommitdiff
path: root/src/libstddjb
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstddjb')
-rw-r--r--src/libstddjb/cspawn.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libstddjb/cspawn.c b/src/libstddjb/cspawn.c
index cb89481..ea0da90 100644
--- a/src/libstddjb/cspawn.c
+++ b/src/libstddjb/cspawn.c
@@ -96,7 +96,12 @@ static inline pid_t cspawn_fork (char const *prog, char const *const *argv, char
return pid ;
}
-#ifdef SKALIBS_HASPOSIXSPAWN
+ /*
+ guess who has a buggy posix_spawn() *and* doesn't have waitid() to work around it?
+ if you guessed OpenBSD, you're right!
+ */
+
+#if defined(SKALIBS_HASPOSIXSPAWN) && (!defined(SKALIBS_HASPOSIXSPAWNEARLYRETURN) || defined(SKALIBS_HASWAITID))
#include <signal.h>
#include <stdlib.h>