/* Change the set of blocked signals to SET, wait until a signal arrives, and restore the set of blocked signals. */ int __sigsuspend (const sigset_t *set) { if (SINGLE_THREAD_P) return do_sigsuspend (set); int oldtype = LIBC_CANCEL_ASYNC (); int result = do_sigsuspend (set); LIBC_CANCEL_RESET (oldtype); return result; }
static uint32_t sys_linux_sigsuspend(uint32_t arg[]) { return do_sigsuspend((sigset_t*)arg[0]); }