The branch main has been updated by brooks:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=fba329a195e8cfd52a0c59314d40f0143f32af10

commit fba329a195e8cfd52a0c59314d40f0143f32af10
Author:     Brooks Davis <[email protected]>
AuthorDate: 2024-03-19 00:24:37 +0000
Commit:     Brooks Davis <[email protected]>
CommitDate: 2024-03-19 23:13:25 +0000

    Define stack_t in sys/_sigaltstack.h
    
    The sigaltstack(2) definition needs this type so make it available
    without all of sys/signal.h.
    
    Reviewed by:    kib
    Differential Revision:  https://reviews.freebsd.org/D44383
---
 sys/sys/_sigaltstack.h | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++
 sys/sys/signal.h       | 24 +------------------
 2 files changed, 66 insertions(+), 23 deletions(-)

diff --git a/sys/sys/_sigaltstack.h b/sys/sys/_sigaltstack.h
new file mode 100644
index 000000000000..d1378eeeec4f
--- /dev/null
+++ b/sys/sys/_sigaltstack.h
@@ -0,0 +1,65 @@
+/*-
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (c) 1982, 1986, 1989, 1991, 1993
+ *     The Regents of the University of California.  All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _SYS__SIGALTSTACK_H_
+#define        _SYS__SIGALTSTACK_H_
+
+#include <sys/_types.h>
+
+#if __XSI_VISIBLE
+#if __BSD_VISIBLE
+#define        __stack_t sigaltstack
+#endif
+typedef        struct __stack_t stack_t;
+
+#define        SS_ONSTACK      0x0001  /* take signal on alternate stack */
+#define        SS_DISABLE      0x0004  /* disable taking signals on alternate 
stack */
+#define        MINSIGSTKSZ     __MINSIGSTKSZ           /* minimum stack size */
+#define        SIGSTKSZ        (MINSIGSTKSZ + 32768)   /* recommended stack 
size */
+#endif
+
+/*
+ * Structure used in sigaltstack call.  Its definition is always
+ * needed for __ucontext.  If __BSD_VISIBLE is defined, the structure
+ * tag is actually sigaltstack.
+ */
+struct __stack_t {
+       void    *ss_sp;                 /* signal stack base */
+       __size_t ss_size;               /* signal stack length */
+       int     ss_flags;               /* SS_DISABLE and/or SS_ONSTACK */
+};
+
+#endif /* !_SYS__SIGALTSTACK_H_ */
diff --git a/sys/sys/signal.h b/sys/sys/signal.h
index 0ab2a205a92c..6112b69886f3 100644
--- a/sys/sys/signal.h
+++ b/sys/sys/signal.h
@@ -40,6 +40,7 @@
 #include <sys/cdefs.h>
 #include <sys/_types.h>
 #include <sys/_sigset.h>
+#include <sys/_sigaltstack.h>
 
 #include <machine/_limits.h>   /* __MINSIGSTKSZ */
 #include <machine/signal.h>    /* sig_atomic_t; trap codes; sigcontext */
@@ -426,29 +427,6 @@ typedef    __sighandler_t  *sig_t; /* type of pointer to a 
signal function */
 typedef        void __siginfohandler_t(int, struct __siginfo *, void *);
 #endif
 
-#if __XSI_VISIBLE
-#if __BSD_VISIBLE
-#define        __stack_t sigaltstack
-#endif
-typedef        struct __stack_t stack_t;
-
-#define        SS_ONSTACK      0x0001  /* take signal on alternate stack */
-#define        SS_DISABLE      0x0004  /* disable taking signals on alternate 
stack */
-#define        MINSIGSTKSZ     __MINSIGSTKSZ           /* minimum stack size */
-#define        SIGSTKSZ        (MINSIGSTKSZ + 32768)   /* recommended stack 
size */
-#endif
-
-/*
- * Structure used in sigaltstack call.  Its definition is always
- * needed for __ucontext.  If __BSD_VISIBLE is defined, the structure
- * tag is actually sigaltstack.
- */
-struct __stack_t {
-       void    *ss_sp;                 /* signal stack base */
-       __size_t ss_size;               /* signal stack length */
-       int     ss_flags;               /* SS_DISABLE and/or SS_ONSTACK */
-};
-
 #if __BSD_VISIBLE
 /*
  * 4.3 compatibility:

Reply via email to