Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/linux32/linux32_machdep.c
Show First 20 Lines • Show All 532 Lines • ▼ Show 20 Lines | linux_sigsuspend(struct thread *td, struct linux_sigsuspend_args *args) | ||||
LINUX_SIGEMPTYSET(mask); | LINUX_SIGEMPTYSET(mask); | ||||
mask.__mask = args->mask; | mask.__mask = args->mask; | ||||
linux_to_bsd_sigset(&mask, &sigmask); | linux_to_bsd_sigset(&mask, &sigmask); | ||||
return (kern_sigsuspend(td, sigmask)); | return (kern_sigsuspend(td, sigmask)); | ||||
} | } | ||||
int | int | ||||
linux_rt_sigsuspend(struct thread *td, struct linux_rt_sigsuspend_args *uap) | |||||
{ | |||||
l_sigset_t lmask; | |||||
sigset_t sigmask; | |||||
int error; | |||||
if (uap->sigsetsize != sizeof(l_sigset_t)) | |||||
return (EINVAL); | |||||
error = copyin(uap->newset, &lmask, sizeof(l_sigset_t)); | |||||
if (error) | |||||
return (error); | |||||
linux_to_bsd_sigset(&lmask, &sigmask); | |||||
return (kern_sigsuspend(td, sigmask)); | |||||
} | |||||
int | |||||
linux_pause(struct thread *td, struct linux_pause_args *args) | linux_pause(struct thread *td, struct linux_pause_args *args) | ||||
{ | { | ||||
struct proc *p = td->td_proc; | struct proc *p = td->td_proc; | ||||
sigset_t sigmask; | sigset_t sigmask; | ||||
PROC_LOCK(p); | PROC_LOCK(p); | ||||
sigmask = td->td_sigmask; | sigmask = td->td_sigmask; | ||||
PROC_UNLOCK(p); | PROC_UNLOCK(p); | ||||
▲ Show 20 Lines • Show All 225 Lines • Show Last 20 Lines |