version 1.16, 2020/01/28 10:44:30 |
version 1.17, 2020/05/16 16:07:55 |
|
|
|
|
void (*signalcb)(int); |
void (*signalcb)(int); |
|
|
|
struct event ev_sigint; |
struct event ev_sighup; |
struct event ev_sighup; |
struct event ev_sigchld; |
struct event ev_sigchld; |
struct event ev_sigcont; |
struct event ev_sigcont; |
|
|
sa.sa_flags = SA_RESTART; |
sa.sa_flags = SA_RESTART; |
sa.sa_handler = SIG_IGN; |
sa.sa_handler = SIG_IGN; |
|
|
sigaction(SIGINT, &sa, NULL); |
|
sigaction(SIGPIPE, &sa, NULL); |
sigaction(SIGPIPE, &sa, NULL); |
sigaction(SIGTSTP, &sa, NULL); |
sigaction(SIGTSTP, &sa, NULL); |
|
sigaction(SIGTTIN, &sa, NULL); |
|
sigaction(SIGTTOU, &sa, NULL); |
|
|
|
signal_set(&tp->ev_sigint, SIGINT, proc_signal_cb, tp); |
|
signal_add(&tp->ev_sigint, NULL); |
signal_set(&tp->ev_sighup, SIGHUP, proc_signal_cb, tp); |
signal_set(&tp->ev_sighup, SIGHUP, proc_signal_cb, tp); |
signal_add(&tp->ev_sighup, NULL); |
signal_add(&tp->ev_sighup, NULL); |
signal_set(&tp->ev_sigchld, SIGCHLD, proc_signal_cb, tp); |
signal_set(&tp->ev_sigchld, SIGCHLD, proc_signal_cb, tp); |
|
|
sa.sa_flags = SA_RESTART; |
sa.sa_flags = SA_RESTART; |
sa.sa_handler = SIG_DFL; |
sa.sa_handler = SIG_DFL; |
|
|
sigaction(SIGINT, &sa, NULL); |
|
sigaction(SIGPIPE, &sa, NULL); |
sigaction(SIGPIPE, &sa, NULL); |
sigaction(SIGTSTP, &sa, NULL); |
sigaction(SIGTSTP, &sa, NULL); |
|
|
|
signal_del(&tp->ev_sigint); |
signal_del(&tp->ev_sighup); |
signal_del(&tp->ev_sighup); |
signal_del(&tp->ev_sigchld); |
signal_del(&tp->ev_sigchld); |
signal_del(&tp->ev_sigcont); |
signal_del(&tp->ev_sigcont); |
|
|
signal_del(&tp->ev_sigwinch); |
signal_del(&tp->ev_sigwinch); |
|
|
if (defaults) { |
if (defaults) { |
|
sigaction(SIGINT, &sa, NULL); |
sigaction(SIGHUP, &sa, NULL); |
sigaction(SIGHUP, &sa, NULL); |
sigaction(SIGCHLD, &sa, NULL); |
sigaction(SIGCHLD, &sa, NULL); |
sigaction(SIGCONT, &sa, NULL); |
sigaction(SIGCONT, &sa, NULL); |