33,322
社区成员




struct sigaction {
unsigned int sa_flags;
__sighandler_t sa_handler;
sigset_t sa_mask; /* mask last for extensibility */
};
static void
handle_signal(int signo)
{
uloop_end();
}
static void
setup_signals(void)
{
struct sigaction s;
memset(&s, 0, sizeof(s));
s.sa_handler = handle_signal;
s.sa_flags = 0;
sigaction(SIGINT, &s, NULL);
sigaction(SIGTERM, &s, NULL);
sigaction(SIGUSR1, &s, NULL);
sigaction(SIGUSR2, &s, NULL);
s.sa_handler = SIG_IGN;
sigaction(SIGPIPE, &s, NULL);
}