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 <yselkowi@redhat.com>
This commit is contained in:
parent
40ca6f02ed
commit
dde6af6f82
|
@ -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
|
||||
|
||||
|
|
|
@ -102,6 +102,7 @@ __wrap__ZdlPv NOSIGFE # void operator delete(void *p) throw()
|
|||
__wrap__ZdlPvRKSt9nothrow_t NOSIGFE # void operator delete(void *p, const std::nothrow_t &nt) throw()
|
||||
__xdrrec_getrec SIGFE
|
||||
__xdrrec_setnonblock SIGFE
|
||||
__xpg_sigpause SIGFE
|
||||
__xpg_strerror_r SIGFE
|
||||
_exit SIGFE
|
||||
_feinitialise NOSIGFE
|
||||
|
|
|
@ -475,12 +475,13 @@ details. */
|
|||
308: Export dladdr.
|
||||
309: Export getloadavg.
|
||||
310: Export reallocarray.
|
||||
311: Export __xpg_sigpause.
|
||||
|
||||
Note that we forgot to bump the api for ualarm, strtoll, strtoull,
|
||||
sigaltstack, sethostname. */
|
||||
|
||||
#define CYGWIN_VERSION_API_MAJOR 0
|
||||
#define CYGWIN_VERSION_API_MINOR 310
|
||||
#define CYGWIN_VERSION_API_MINOR 311
|
||||
|
||||
/* There is also a compatibity version number associated with the shared memory
|
||||
regions. It is incremented when incompatible changes are made to the shared
|
||||
|
|
|
@ -523,6 +523,18 @@ sigpause (int signal_mask)
|
|||
return res;
|
||||
}
|
||||
|
||||
extern "C" int
|
||||
__xpg_sigpause (int sig)
|
||||
{
|
||||
int res;
|
||||
sigset_t signal_mask;
|
||||
sigprocmask (0, NULL, &signal_mask);
|
||||
sigdelset (&signal_mask, sig);
|
||||
res = handle_sigsuspend (signal_mask);
|
||||
syscall_printf ("%R = __xpg_sigpause(%y)", res, sig);
|
||||
return res;
|
||||
}
|
||||
|
||||
extern "C" int
|
||||
pause (void)
|
||||
{
|
||||
|
|
|
@ -877,7 +877,7 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
|
|||
signal
|
||||
signbit (see chapter "Implementation Notes")
|
||||
signgam
|
||||
sigpause
|
||||
sigpause (see chapter "Implementation Notes")
|
||||
sigpending
|
||||
sigprocmask
|
||||
sigqueue
|
||||
|
@ -925,7 +925,7 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
|
|||
strdup
|
||||
strerror
|
||||
strerror_l
|
||||
strerror_r
|
||||
strerror_r (see chapter "Implementation Notes")
|
||||
strfmon
|
||||
strfmon_l
|
||||
strftime
|
||||
|
@ -1668,6 +1668,12 @@ depending on whether _BSD_SOURCE or _GNU_SOURCE is defined when compiling.</para
|
|||
<para><function>basename</function> is available in both POSIX and GNU flavors,
|
||||
depending on whether libgen.h is included or not.</para>
|
||||
|
||||
<para><function>sigpause</function> is available in both BSD and SysV/XSI
|
||||
flavors, depending on whether _XOPEN_SOURCE is defined when compiling.</para>
|
||||
|
||||
<para><function>strerror_r</function> is available in both POSIX and GNU
|
||||
flavors, depending on whether _GNU_SOURCE is defined when compiling.</para>
|
||||
|
||||
<para><function>dladdr</function> always sets the Dl_info members dli_sname and
|
||||
dli_saddr to NULL, indicating no symbol matching addr could be found.</para>
|
||||
|
||||
|
|
Loading…
Reference in New Issue