From: Bruno Haible <bruno@clisp.org> Date: Sun, 18 Sep 2022 12:41:20 +0000 (+0200) Subject: signal: Fix a C++ compilation error due to sched_yield on OpenBSD 6.0. X-Git-Tag: v1.0~2011 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=55c954bda869d2a30a4347270e8d7872cd024138;p=gnulib.git signal: Fix a C++ compilation error due to sched_yield on OpenBSD 6.0. * lib/signal.in.h: On OpenBSD, include <sys/param.h>. Don't include <pthread.h> on OpenBSD ≥ 5.1. --- diff --git a/ChangeLog b/ChangeLog index 730460b591..88bd009004 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2022-09-18 Bruno Haible <bruno@clisp.org> + + signal: Fix a C++ compilation error due to sched_yield on OpenBSD 6.0. + * lib/signal.in.h: On OpenBSD, include <sys/param.h>. Don't include + <pthread.h> on OpenBSD ⥠5.1. + 2022-09-17 Paul Eggert <eggert@cs.ucla.edu> explicit_bzero-tests: robustify a bit diff --git a/lib/signal.in.h b/lib/signal.in.h index 5d2d80c99d..c0d4848db0 100644 --- a/lib/signal.in.h +++ b/lib/signal.in.h @@ -55,12 +55,19 @@ #ifndef _@GUARD_PREFIX@_SIGNAL_H #define _@GUARD_PREFIX@_SIGNAL_H -/* Mac OS X 10.3, FreeBSD < 8.0, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6, Android, +/* For testing the OpenBSD version. */ +#if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \ + && defined __OpenBSD__ +# include <sys/param.h> +#endif + +/* Mac OS X 10.3, FreeBSD < 8.0, OpenBSD < 5.1, OSF/1 4.0, Solaris 2.6, Android, OS/2 kLIBC declare pthread_sigmask in <pthread.h>, not in <signal.h>. But avoid namespace pollution on glibc systems.*/ #if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \ && ((defined __APPLE__ && defined __MACH__) \ - || (defined __FreeBSD__ && __FreeBSD__ < 8) || defined __OpenBSD__ \ + || (defined __FreeBSD__ && __FreeBSD__ < 8) \ + || (defined __OpenBSD__ && OpenBSD < 201205) \ || defined __osf__ || defined __sun || defined __ANDROID__ \ || defined __KLIBC__) \ && ! defined __GLIBC__