diff options
author | marcel <marcel@FreeBSD.org> | 1999-08-14 17:28:46 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 1999-08-14 17:28:46 +0000 |
commit | 195c2867a7981b012681e6b20ea15c73c451b503 (patch) | |
tree | accd80df8d7633ca8b19237e620cdd355e233dcc /sys/alpha | |
parent | ac3a4d6b97e4fdfa5ef88b63c02630ab97d7e175 (diff) | |
download | FreeBSD-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.h | 16 |
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 |