From dde6af6f82d117532cc8a57f34ccbb52ca3160fa Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 14 Jun 2017 10:20:05 -0500 Subject: Export XSI sigpause There are two common sigpause variants, both of which take an int argument. If you request _XOPEN_SOURCE or _GNU_SOURCE, you get the System V version, which removes the given signal from the process's signal mask; otherwise you get the BSD version, which sets the process's signal mask to the given value. Signed-off-by: Yaakov Selkowitz --- newlib/libc/include/sys/signal.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'newlib/libc/include/sys/signal.h') diff --git a/newlib/libc/include/sys/signal.h b/newlib/libc/include/sys/signal.h index a56f18a1b..da064cd5f 100644 --- a/newlib/libc/include/sys/signal.h +++ b/newlib/libc/include/sys/signal.h @@ -200,7 +200,19 @@ int _EXFUN(sigwait, (const sigset_t *set, int *sig)); #endif /* !__CYGWIN__ && !__rtems__ */ #endif /* __POSIX_VISIBLE */ -#if __BSD_VISIBLE +/* There are two common sigpause variants, both of which take an int argument. + If you request _XOPEN_SOURCE or _GNU_SOURCE, you get the System V version, + which removes the given signal from the process's signal mask; otherwise + you get the BSD version, which sets the process's signal mask to the given + value. */ +#if __XSI_VISIBLE && !defined(__INSIDE_CYGWIN__) +# ifdef __GNUC__ +int _EXFUN(sigpause, (int)) __asm__ (__ASMNAME ("__xpg_sigpause")); +# else +int _EXFUN(__xpg_sigpause, (int)); +# define sigpause __xpg_sigpause +# endif +#elif __BSD_VISIBLE int _EXFUN(sigpause, (int)); #endif -- cgit v1.2.3