version 1.176, 2016/09/12 01:22:38 |
version 1.177, 2016/10/18 12:41:22 |
|
|
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
static void |
static void |
|
suspchild(int signo) |
|
{ |
|
if (sshpid > 1) { |
|
kill(sshpid, signo); |
|
while (waitpid(sshpid, NULL, WUNTRACED) == -1 && errno == EINTR) |
|
continue; |
|
} |
|
kill(getpid(), SIGSTOP); |
|
} |
|
|
|
/* ARGSUSED */ |
|
static void |
cmd_interrupt(int signo) |
cmd_interrupt(int signo) |
{ |
{ |
const char msg[] = "\rInterrupt \n"; |
const char msg[] = "\rInterrupt \n"; |
|
|
signal(SIGTERM, killchild); |
signal(SIGTERM, killchild); |
signal(SIGINT, killchild); |
signal(SIGINT, killchild); |
signal(SIGHUP, killchild); |
signal(SIGHUP, killchild); |
|
signal(SIGTSTP, suspchild); |
|
signal(SIGTTIN, suspchild); |
|
signal(SIGTTOU, suspchild); |
close(c_in); |
close(c_in); |
close(c_out); |
close(c_out); |
} |
} |