• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <signal.h>
2 #include <errno.h>
3 #include "syscall.h"
4 
sigaltstack(const stack_t * restrict ss,stack_t * restrict old)5 int sigaltstack(const stack_t *restrict ss, stack_t *restrict old)
6 {
7 	if (ss) {
8 		if (!(ss->ss_flags & SS_DISABLE) && ss->ss_size < MINSIGSTKSZ) {
9 			errno = ENOMEM;
10 			return -1;
11 		}
12 		if (ss->ss_flags & SS_ONSTACK) {
13 			errno = EINVAL;
14 			return -1;
15 		}
16 	}
17 	return syscall(SYS_sigaltstack, ss, old);
18 }
19