Add rt_sigpending syscall.
This commit is contained in:
parent
9f0bfbf3da
commit
efde75ae99
@ -1,4 +1,4 @@
|
||||
$NetBSD: syscalls.master,v 1.35 2008/06/16 19:57:43 christos Exp $
|
||||
$NetBSD: syscalls.master,v 1.36 2008/07/24 12:09:56 njoly Exp $
|
||||
|
||||
; NetBSD i386 COMPAT_LINUX32 system call name/number "master" file.
|
||||
; (See syscalls.conf to see what it is processed into.)
|
||||
@ -307,7 +307,8 @@
|
||||
const linux32_sigsetp_t set, \
|
||||
linux32_sigsetp_t oset, \
|
||||
netbsd32_size_t sigsetsize); }
|
||||
176 UNIMPL rt_sigpending
|
||||
176 STD { int linux32_sys_rt_sigpending(linux32_sigsetp_t set, \
|
||||
netbsd32_size_t sigsetsize); }
|
||||
177 UNIMPL rt_sigtimedwait
|
||||
178 UNIMPL rt_queueinfo
|
||||
179 STD { int linux32_sys_rt_sigsuspend(linux32_sigsetp_t unewset, \
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: linux32_signal.c,v 1.8 2008/04/24 18:39:23 ad Exp $ */
|
||||
/* $NetBSD: linux32_signal.c,v 1.9 2008/07/24 12:09:56 njoly Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2006 Emmanuel Dreyfus, all rights reserved.
|
||||
@ -32,7 +32,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: linux32_signal.c,v 1.8 2008/04/24 18:39:23 ad Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: linux32_signal.c,v 1.9 2008/07/24 12:09:56 njoly Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/ucred.h>
|
||||
@ -371,3 +371,21 @@ linux32_sys_signal(struct lwp *l, const struct linux32_sys_signal_args *uap, reg
|
||||
*retval = (int)(long)obsa.sa_handler;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
linux32_sys_rt_sigpending(struct lwp *l, const struct linux32_sys_rt_sigpending_args *uap, register_t *retval)
|
||||
{
|
||||
/* {
|
||||
syscallarg(linux32_sigsetp_t) set;
|
||||
syscallarg(netbsd32_size_t) sigsetsize;
|
||||
} */
|
||||
sigset_t bss;
|
||||
linux32_sigset_t lss;
|
||||
|
||||
if (SCARG(uap, sigsetsize) != sizeof(linux32_sigset_t))
|
||||
return EINVAL;
|
||||
|
||||
sigpending1(l, &bss);
|
||||
native_to_linux32_sigset(&lss, &bss);
|
||||
return copyout(&lss, SCARG_P32(uap, set), sizeof(lss));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user