diff options
author | Glenn Strauss <gstrauss@gluelogic.com> | 2020-11-26 14:58:35 -0500 |
---|---|---|
committer | Glenn Strauss <gstrauss@gluelogic.com> | 2023-05-03 23:11:34 -0400 |
commit | 8acf2ae5e62269c33e4f6cc205d025de278924ae (patch) | |
tree | b30cae5c6dee12e3e50a22cb6973cffac474d92a /src/gw_backend.c | |
parent | af68a4db08b70d5f4c918fbe0a871159daf72e6b (diff) | |
download | lighttpd-git-8acf2ae5e62269c33e4f6cc205d025de278924ae.tar.gz |
[multiple] _WIN32 protect code w/ HAVE_FORK
wrap fork() and kill()
Diffstat (limited to 'src/gw_backend.c')
-rw-r--r-- | src/gw_backend.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gw_backend.c b/src/gw_backend.c index cb563ce3..6a7e0545 100644 --- a/src/gw_backend.c +++ b/src/gw_backend.c @@ -723,7 +723,9 @@ static void gw_proc_kill(gw_host *host, gw_proc *proc) { host->unused_procs->prev = proc; host->unused_procs = proc; + #ifdef HAVE_FORK kill(proc->pid, host->kill_signal); + #endif gw_proc_set_state(host, proc, PROC_STATE_KILLED); } @@ -1003,10 +1005,12 @@ static void gw_restart_dead_proc(gw_host * const host, log_error_st * const errh break; case PROC_STATE_KILLED: if (trigger && ++proc->disabled_until > 4) { + #ifdef HAVE_FORK int sig = (proc->disabled_until <= 8) ? host->kill_signal : proc->disabled_until <= 16 ? SIGTERM : SIGKILL; kill(proc->pid, sig); + #endif } break; case PROC_STATE_DIED_WAIT_FOR_PID: @@ -1159,7 +1163,9 @@ void gw_plugin_config_free(gw_plugin_config *s) { for (proc = host->first; proc; proc = proc->next) { if (proc->pid > 0) { + #ifdef HAVE_FORK kill(proc->pid, host->kill_signal); + #endif } if (proc->is_local && proc->unixsocket) { @@ -1169,7 +1175,9 @@ void gw_plugin_config_free(gw_plugin_config *s) { for (proc = host->unused_procs; proc; proc = proc->next) { if (proc->pid > 0) { + #ifdef HAVE_FORK kill(proc->pid, host->kill_signal); + #endif } if (proc->is_local && proc->unixsocket) { unlink(proc->unixsocket->ptr); |