summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r--sys/kern/kern_sig.c46
1 files changed, 1 insertions, 45 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index c0b5f18dc3f..97870a3dff8 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_sig.c,v 1.124 2011/07/07 18:11:24 art Exp $ */
+/* $OpenBSD: kern_sig.c,v 1.125 2011/07/09 05:31:26 matthew Exp $ */
/* $NetBSD: kern_sig.c,v 1.54 1996/04/22 01:38:32 christos Exp $ */
/*
@@ -470,50 +470,6 @@ sys_sigsuspend(struct proc *p, void *v, register_t *retval)
return (EINTR);
}
-/* ARGSUSED */
-int
-sys_osigaltstack(struct proc *p, void *v, register_t *retval)
-{
- struct sys_osigaltstack_args /* {
- syscallarg(const struct osigaltstack *) nss;
- syscallarg(struct osigaltstack *) oss;
- } */ *uap = v;
- struct osigaltstack ss;
- const struct osigaltstack *nss;
- struct osigaltstack *oss;
- int error;
-
- nss = SCARG(uap, nss);
- oss = SCARG(uap, oss);
-
- if (oss) {
- ss.ss_sp = p->p_sigstk.ss_sp;
- ss.ss_size = p->p_sigstk.ss_size;
- ss.ss_flags = p->p_sigstk.ss_flags;
- if ((error = copyout(&ss, oss, sizeof(ss))))
- return (error);
- }
- if (nss == NULL)
- return (0);
- error = copyin(nss, &ss, sizeof(ss));
- if (error)
- return (error);
- if (p->p_sigstk.ss_flags & SS_ONSTACK)
- return (EPERM);
- if (ss.ss_flags & ~SS_DISABLE)
- return (EINVAL);
- if (ss.ss_flags & SS_DISABLE) {
- p->p_sigstk.ss_flags = ss.ss_flags;
- return (0);
- }
- if (ss.ss_size < MINSIGSTKSZ)
- return (ENOMEM);
- p->p_sigstk.ss_sp = ss.ss_sp;
- p->p_sigstk.ss_size = ss.ss_size;
- p->p_sigstk.ss_flags = ss.ss_flags;
- return (0);
-}
-
int
sys_sigaltstack(struct proc *p, void *v, register_t *retval)
{