mirror of
https://github.com/tsl0922/ttyd.git
synced 2026-01-23 11:14:21 +01:00
protocol: cleanup process without hanging
This commit is contained in:
10
src/server.c
10
src/server.c
@@ -181,6 +181,15 @@ sig_handler(int sig) {
|
||||
lwsl_notice("send ^C to force exit.\n");
|
||||
}
|
||||
|
||||
void
|
||||
sigchld_handler() {
|
||||
pid_t pid;
|
||||
int status = wait_proc(-1, &pid);
|
||||
if (pid > 0) {
|
||||
lwsl_notice("process exited with code %d, pid: %d\n", status, pid);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
calc_command_start(int argc, char **argv) {
|
||||
// make a copy of argc and argv
|
||||
@@ -456,6 +465,7 @@ main(int argc, char **argv) {
|
||||
|
||||
signal(SIGINT, sig_handler); // ^C
|
||||
signal(SIGTERM, sig_handler); // kill
|
||||
signal(SIGCHLD, sigchld_handler);
|
||||
|
||||
context = lws_create_context(&info);
|
||||
if (context == NULL) {
|
||||
|
||||
Reference in New Issue
Block a user