X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/1f2f436a38f7ae2d39a943ad2898d8fed4ed2e58..b061a43bf32824cb214e9e3a29a974341de443d4:/gen/FreeBSD/pause.c diff --git a/gen/FreeBSD/pause.c b/gen/FreeBSD/pause.c index 6f78fe9..2cb962c 100644 --- a/gen/FreeBSD/pause.c +++ b/gen/FreeBSD/pause.c @@ -27,9 +27,14 @@ * SUCH DAMAGE. */ +#if defined(VARIANT_CANCELABLE) && __DARWIN_NON_CANCELABLE != 0 +#error cancellable call vs. __DARWIN_NON_CANCELABLE mismatch +#endif + #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)pause.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ + #include __FBSDID("$FreeBSD: src/lib/libc/gen/pause.c,v 1.8 2009/12/05 19:31:38 ed Exp $"); @@ -42,7 +47,10 @@ __FBSDID("$FreeBSD: src/lib/libc/gen/pause.c,v 1.8 2009/12/05 19:31:38 ed Exp $" int __pause(void) { - return sigpause(sigblock(0L)); + sigset_t set; + + sigprocmask(0, NULL, &set); + return sigsuspend(&set); } __weak_reference(__pause, pause); __weak_reference(__pause, _pause);