diff --git a/system/nxinit/init.c b/system/nxinit/init.c index 978b8a63b..cc1f18132 100644 --- a/system/nxinit/init.c +++ b/system/nxinit/init.c @@ -154,9 +154,19 @@ int main(int argc, FAR char *argv[]) }; struct pollfd pfds[nitems(ev)]; + sigset_t mask; size_t i; int r; + sigfillset(&mask); + r = sigprocmask(SIG_BLOCK, &mask, NULL); + sigemptyset(&mask); + if (r < 0) + { + init_err("sigprocmask failed %d", errno); + return r; + } + #ifdef CONFIG_USBDEV_TRACE usbtrace_enable(TRACE_BITSET); #endif @@ -215,7 +225,7 @@ int main(int argc, FAR char *argv[]) break; } - r = ppoll(pfds, nitems(pfds), MS2TIMESPEC(&timeout, t), NULL); + r = ppoll(pfds, nitems(pfds), MS2TIMESPEC(&timeout, t), &mask); if (r < 0 && errno != EINTR) { init_err("Wait event");