#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
#ifdef _GNU_SOURCE
typedef int (*sighandler_t)(int);
void (*bsd_signal(int, void (*)(int)))(int);
#ifdef _GNU_SOURCE
typedef int (*sighandler_t)(int);
void (*bsd_signal(int, void (*)(int)))(int);