2001-08-22 Roland McGrath <roland@frob.com>
authorRoland McGrath <roland@gnu.org>
Thu, 23 Aug 2001 03:07:50 +0000 (03:07 +0000)
committerRoland McGrath <roland@gnu.org>
Thu, 23 Aug 2001 03:07:50 +0000 (03:07 +0000)
* sysdeps/generic/bits/sigaction.h (struct sigaction): Fix up
conditionalization of sa_handler/sa_sigaction member types to
match the sysdeps/unix/sysv/linux file.

bits/sigaction.h
sysdeps/generic/bits/sigaction.h

index e23a96c..adcc276 100644 (file)
 struct sigaction
   {
     /* Signal handler.  */
-    union {
-      __sighandler_t sa_handler;
-      void (*sa_sigaction) (int, siginfo_t *, void *);
-    } __sigaction_handler;
-# define sa_handler    __sigaction_handler.sa_handler
-# define sa_sigaction  __sigaction_handler.sa_sigaction
+#ifdef __USE_POSIX199309
+    union
+      {
+       /* Used if SA_SIGINFO is not set.  */
+       __sighandler_t sa_handler;
+       /* Used if SA_SIGINFO is set.  */
+       void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler    __sigaction_handler.sa_handler
+# define sa_sigaction  __sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
 
     /* Additional set of signals to be blocked.  */
     __sigset_t sa_mask;
index e23a96c..adcc276 100644 (file)
 struct sigaction
   {
     /* Signal handler.  */
-    union {
-      __sighandler_t sa_handler;
-      void (*sa_sigaction) (int, siginfo_t *, void *);
-    } __sigaction_handler;
-# define sa_handler    __sigaction_handler.sa_handler
-# define sa_sigaction  __sigaction_handler.sa_sigaction
+#ifdef __USE_POSIX199309
+    union
+      {
+       /* Used if SA_SIGINFO is not set.  */
+       __sighandler_t sa_handler;
+       /* Used if SA_SIGINFO is set.  */
+       void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+# define sa_handler    __sigaction_handler.sa_handler
+# define sa_sigaction  __sigaction_handler.sa_sigaction
+#else
+    __sighandler_t sa_handler;
+#endif
 
     /* Additional set of signals to be blocked.  */
     __sigset_t sa_mask;