Lines Matching refs:cgi_pid
66 struct cgi_pid_t *cgi_pid; member
71 struct cgi_pid_t *cgi_pid; member
141 for (cgi_pid_t *cgi_pid = p->cgi_pid, *next; cgi_pid; cgi_pid = next) { in FREE_FUNC() local
142 next = cgi_pid->next; in FREE_FUNC()
143 free(cgi_pid); in FREE_FUNC()
379 cgi_pid_t *cgi_pid = ck_malloc(sizeof(cgi_pid_t)); in cgi_pid_add() local
380 cgi_pid->pid = pid; in cgi_pid_add()
381 cgi_pid->signal_sent = 0; in cgi_pid_add()
382 cgi_pid->hctx = hctx; in cgi_pid_add()
383 cgi_pid->prev = NULL; in cgi_pid_add()
384 cgi_pid->next = p->cgi_pid; in cgi_pid_add()
385 p->cgi_pid = cgi_pid; in cgi_pid_add()
386 return cgi_pid; in cgi_pid_add()
389 static void cgi_pid_kill(cgi_pid_t *cgi_pid, int sig) { in cgi_pid_kill() argument
390 cgi_pid->signal_sent = sig; /*(save last signal sent)*/ in cgi_pid_kill()
391 kill(cgi_pid->pid, sig); in cgi_pid_kill()
394 static void cgi_pid_del(plugin_data *p, cgi_pid_t *cgi_pid) { in cgi_pid_del() argument
395 if (cgi_pid->prev) in cgi_pid_del()
396 cgi_pid->prev->next = cgi_pid->next; in cgi_pid_del()
398 p->cgi_pid = cgi_pid->next; in cgi_pid_del()
400 if (cgi_pid->next) in cgi_pid_del()
401 cgi_pid->next->prev = cgi_pid->prev; in cgi_pid_del()
403 free(cgi_pid); in cgi_pid_del()
442 if (hctx->cgi_pid) { in cgi_connection_close()
443 cgi_pid_kill(hctx->cgi_pid, SIGTERM); in cgi_connection_close()
444 hctx->cgi_pid->hctx = NULL; in cgi_connection_close()
941 hctx->cgi_pid = cgi_pid_add(p, pid, hctx); in cgi_create_env()
1082 if (hctx->cgi_pid) /* send signal to notify CGI about TCP FIN */ in SUBREQUEST_FUNC()
1083 cgi_pid_kill(hctx->cgi_pid, hctx->conf.limits->signal_fin); in SUBREQUEST_FUNC()
1167 msg, r->physical.path.ptr, (long long)hctx->cgi_pid->pid); in cgi_trigger_hctx_timeout()
1186 for (cgi_pid_t *cgi_pid = p->cgi_pid; cgi_pid; cgi_pid = cgi_pid->next) { in cgi_trigger_cb() local
1189 handler_ctx * const hctx = cgi_pid->hctx; in cgi_trigger_cb()
1214 for (cgi_pid_t *cgi_pid = p->cgi_pid; cgi_pid; cgi_pid = cgi_pid->next) { in cgi_waitpid_cb() local
1215 if (pid != cgi_pid->pid) continue; in cgi_waitpid_cb()
1217 handler_ctx * const hctx = cgi_pid->hctx; in cgi_waitpid_cb()
1218 if (hctx) hctx->cgi_pid = NULL; in cgi_waitpid_cb()
1225 if (WTERMSIG(status) != cgi_pid->signal_sent) { in cgi_waitpid_cb()
1237 cgi_pid_del(p, cgi_pid); in cgi_waitpid_cb()