Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Apr 2010 11:11:11 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r206991 - stable/7/lib/libc/sys
Message-ID:  <201004211111.o3LBBBti035631@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Wed Apr 21 11:11:11 2010
New Revision: 206991
URL: http://svn.freebsd.org/changeset/base/206991

Log:
  MFC r206549:
  Align the declaration for sa_sigaction with POSIX.
  
  MFC r206649:
  Still reference struct __sigaction with clarification when this form
  of argument declaration is needed.
  
  MFC r206802:
  Revert r206649. Simplify the presented declaration of struct sigaction.

Modified:
  stable/7/lib/libc/sys/sigaction.2
Directory Properties:
  stable/7/lib/libc/   (props changed)
  stable/7/lib/libc/stdtime/   (props changed)

Modified: stable/7/lib/libc/sys/sigaction.2
==============================================================================
--- stable/7/lib/libc/sys/sigaction.2	Wed Apr 21 11:09:13 2010	(r206990)
+++ stable/7/lib/libc/sys/sigaction.2	Wed Apr 21 11:11:11 2010	(r206991)
@@ -28,7 +28,7 @@
 .\"	From: @(#)sigaction.2	8.2 (Berkeley) 4/3/94
 .\" $FreeBSD$
 .\"
-.Dd June 7, 2004
+.Dd April 18, 2010
 .Dt SIGACTION 2
 .Os
 .Sh NAME
@@ -40,16 +40,11 @@
 .In signal.h
 .Bd -literal
 struct  sigaction {
-        union {
-                void    (*__sa_handler)(int);
-                void    (*__sa_sigaction)(int, struct __siginfo *, void *);
-        } __sigaction_u;                /* signal handler */
+        void    (*sa_handler)(int);
+        void    (*sa_sigaction)(int, siginfo_t *, void *);
         int     sa_flags;               /* see signal options below */
         sigset_t sa_mask;               /* signal mask to apply */
 };
-
-#define	sa_handler	__sigaction_u.__sa_handler
-#define	sa_sigaction	__sigaction_u.__sa_sigaction
 .Ed
 .Ft int
 .Fo sigaction
@@ -148,6 +143,16 @@ If
 is non-zero, the previous handling information for the signal
 is returned to the user.
 .Pp
+The above declaration of
+.Vt "struct sigaction"
+is not literal.
+It is provided only to list the accessible members.
+See
+.In sys/signal.h
+for the actual definition.
+In particular, the storage occupied by sa_handler and sa_sigaction overlaps,
+and an application can not use both simultaneously.
+.Pp
 Once a signal handler is installed, it normally remains installed
 until another
 .Fn sigaction



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004211111.o3LBBBti035631>