This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin] Feature test macros overhaul: Cygwin signal.h


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=6a6c1c52e6bfea85beb06ea60417b90ae3c6857c

commit 6a6c1c52e6bfea85beb06ea60417b90ae3c6857c
Author: Yaakov Selkowitz <yselkowi@redhat.com>
Date:   Tue Jun 13 14:58:33 2017 -0500

    Feature test macros overhaul: Cygwin signal.h
    
    This should match newlib's <sys/signal.h>.
    
    Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>

Diff:
---
 winsup/cygwin/include/cygwin/signal.h | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/include/cygwin/signal.h b/winsup/cygwin/include/cygwin/signal.h
index f304995..700d45c 100644
--- a/winsup/cygwin/include/cygwin/signal.h
+++ b/winsup/cygwin/include/cygwin/signal.h
@@ -190,6 +190,8 @@ struct _sigcommune
   };
 };
 
+#if __POSIX_VISIBLE >= 199309
+
 #define __SI_PAD_SIZE 32
 #ifdef __INSIDE_CYGWIN__
 # ifndef max
@@ -251,6 +253,8 @@ typedef struct
 } siginfo_t;
 #pragma pack(pop)
 
+#endif /* __POSIX_VISIBLE >= 199309 */
+
 enum
 {
   SI_USER = 0,				/* sent by kill, raise, pthread_kill */
@@ -314,6 +318,8 @@ enum
 
 typedef void (*_sig_func_ptr)(int);
 
+#if __POSIX_VISIBLE
+
 struct sigaction
 {
   __extension__ union
@@ -344,11 +350,17 @@ struct sigaction
    Do not use.  */
 #define _SA_INTERNAL_MASK 0xf000	/* bits in this range are internal */
 
+#endif /* __POSIX_VISIBLE */
+
+#if __BSD_VISIBLE || __XSI_VISIBLE >= 4 || __POSIX_VISIBLE >= 200809
+
 #undef	MINSIGSTKSZ
 #define	MINSIGSTKSZ	 8192
 #undef	SIGSTKSZ
 #define	SIGSTKSZ	32768
 
+#endif /* __BSD_VISIBLE || __XSI_VISIBLE >= 4 || __POSIX_VISIBLE >= 200809 */
+
 #define	SIGHUP	1	/* hangup */
 #define	SIGINT	2	/* interrupt */
 #define	SIGQUIT	3	/* quit */
@@ -397,20 +409,32 @@ struct sigaction
 
 #define SIG_HOLD ((_sig_func_ptr)2)	/* Signal in signal mask */
 
+#if __POSIX_VISIBLE >= 200809
 void psiginfo (const siginfo_t *, const char *);
+#endif
+#if __POSIX_VISIBLE
 int sigwait (const sigset_t *, int *);
+#endif
+#if __POSIX_VISIBLE >= 199309
 int sigwaitinfo (const sigset_t *, siginfo_t *);
+#endif
+#if __XSI_VISIBLE >= 4
 int sighold (int);
 int sigignore (int);
 int sigrelse (int);
 _sig_func_ptr sigset (int, _sig_func_ptr);
+#endif
 
+#if __POSIX_VISIBLE >= 199309
 int sigqueue(pid_t, int, const union sigval);
+#endif
+#if __BSD_VISIBLE || __XSI_VISIBLE >= 4 || __POSIX_VISIBLE >= 200809
 int siginterrupt (int, int);
+#endif
 #ifdef __INSIDE_CYGWIN__
 extern const char *sys_sigabbrev[];
 extern const char *sys_siglist[];
-#else
+#elif __BSD_VISIBLE
 extern const char __declspec(dllimport) *sys_sigabbrev[];
 extern const char __declspec(dllimport) *sys_siglist[];
 #endif


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]