summaryrefslogtreecommitdiffstats
path: root/sys/alpha
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>1999-08-14 17:28:46 +0000
committermarcel <marcel@FreeBSD.org>1999-08-14 17:28:46 +0000
commit195c2867a7981b012681e6b20ea15c73c451b503 (patch)
treeaccd80df8d7633ca8b19237e620cdd355e233dcc /sys/alpha
parentac3a4d6b97e4fdfa5ef88b63c02630ab97d7e175 (diff)
downloadFreeBSD-src-195c2867a7981b012681e6b20ea15c73c451b503.zip
FreeBSD-src-195c2867a7981b012681e6b20ea15c73c451b503.tar.gz
Implementation of linux_rt_sigaction and linux_rt_sigprocmask syscalls. Both
functions use the new sigset_t and sigaction_t which allows support for more than 32 signals. Only the lower 32 signals are supported for now. linux_rt_sigaction, linux_sigaction and linux_signal use linux_do_sigaction to do the actual work. That way unnecessary redundancy is avoided. The same has been done for linux_rt_sigprocmask and linux_sigprocmask. They call linux_do_sigprocmask to do the actual work.
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/linux/linux.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/sys/alpha/linux/linux.h b/sys/alpha/linux/linux.h
index 03f9e16..d4cf410 100644
--- a/sys/alpha/linux/linux.h
+++ b/sys/alpha/linux/linux.h
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: linux.h,v 1.31 1999/08/11 13:34:29 marcel Exp $
+ * $Id: linux.h,v 1.32 1999/08/13 14:44:13 marcel Exp $
*/
#ifndef _I386_LINUX_LINUX_H_
@@ -57,6 +57,17 @@ typedef struct {
} linux_sigaction_t;
typedef int linux_key_t;
+typedef struct {
+ unsigned long sig[2];
+} linux_new_sigset_t;
+typedef struct {
+ void (*lsa_handler)(int);
+ unsigned long lsa_flags;
+ void (*lsa_restorer)(void);
+ linux_new_sigset_t lsa_mask;
+} linux_new_sigaction_t;
+
+
/*
* The Linux sigcontext, pretty much a standard 386 trapframe.
*/
@@ -154,6 +165,9 @@ struct trapframe;
/* sigaction flags */
#define LINUX_SA_NOCLDSTOP 0x00000001
+#define LINUX_SA_NOCLDWAIT 0x00000002
+#define LINUX_SA_SIGINFO 0x00000004
+#define LINUX_SA_RESTORER 0x04000000
#define LINUX_SA_ONSTACK 0x08000000
#define LINUX_SA_RESTART 0x10000000
#define LINUX_SA_INTERRUPT 0x20000000
OpenPOWER on IntegriCloud