summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/freebsd32_misc.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index 71b22aa..9f6b16d 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -2579,21 +2579,10 @@ int
ofreebsd32_sigsuspend(struct thread *td,
struct ofreebsd32_sigsuspend_args *uap)
{
- struct proc *p = td->td_proc;
sigset_t mask;
- PROC_LOCK(p);
- td->td_oldsigmask = td->td_sigmask;
- td->td_pflags |= TDP_OLDMASK;
OSIG2SIG(uap->mask, mask);
- SIG_CANTMASK(mask);
- SIGSETLO(td->td_sigmask, mask);
- signotify(td);
- while (msleep(&p->p_sigacts, &p->p_mtx, PPAUSE|PCATCH, "opause", 0) == 0)
- /* void */;
- PROC_UNLOCK(p);
- /* always return EINTR rather than ERESTART... */
- return (EINTR);
+ return (kern_sigsuspend(td, mask));
}
struct sigstack32 {
OpenPOWER on IntegriCloud