Lines Matching refs:hctx
398 static void fcgi_proc_load_inc(server *srv, handler_ctx *hctx) { in fcgi_proc_load_inc() argument
399 plugin_data *p = hctx->plugin_data; in fcgi_proc_load_inc()
400 hctx->proc->load++; in fcgi_proc_load_inc()
404 fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); in fcgi_proc_load_inc()
407 status_counter_set(srv, CONST_BUF_LEN(p->statuskey), hctx->proc->load); in fcgi_proc_load_inc()
410 static void fcgi_proc_load_dec(server *srv, handler_ctx *hctx) { in fcgi_proc_load_dec() argument
411 plugin_data *p = hctx->plugin_data; in fcgi_proc_load_dec()
412 hctx->proc->load--; in fcgi_proc_load_dec()
416 fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); in fcgi_proc_load_dec()
419 status_counter_set(srv, CONST_BUF_LEN(p->statuskey), hctx->proc->load); in fcgi_proc_load_dec()
422 static void fcgi_host_assign(server *srv, handler_ctx *hctx, fcgi_extension_host *host) { in fcgi_host_assign() argument
423 plugin_data *p = hctx->plugin_data; in fcgi_host_assign()
424 hctx->host = host; in fcgi_host_assign()
425 hctx->host->load++; in fcgi_host_assign()
427 fastcgi_status_copy_procname(p->statuskey, hctx->host, NULL); in fcgi_host_assign()
430 status_counter_set(srv, CONST_BUF_LEN(p->statuskey), hctx->host->load); in fcgi_host_assign()
433 static void fcgi_host_reset(server *srv, handler_ctx *hctx) { in fcgi_host_reset() argument
434 plugin_data *p = hctx->plugin_data; in fcgi_host_reset()
435 hctx->host->load--; in fcgi_host_reset()
437 fastcgi_status_copy_procname(p->statuskey, hctx->host, NULL); in fcgi_host_reset()
440 status_counter_set(srv, CONST_BUF_LEN(p->statuskey), hctx->host->load); in fcgi_host_reset()
442 hctx->host = NULL; in fcgi_host_reset()
445 static void fcgi_host_disable(server *srv, handler_ctx *hctx) { in fcgi_host_disable() argument
446 plugin_data *p = hctx->plugin_data; in fcgi_host_disable()
448 if (hctx->host->disable_time || hctx->proc->is_local) { in fcgi_host_disable()
449 if (hctx->proc->state == PROC_STATE_RUNNING) hctx->host->active_procs--; in fcgi_host_disable()
450 hctx->proc->disabled_until = srv->cur_ts + hctx->host->disable_time; in fcgi_host_disable()
451 hctx->proc->state = hctx->proc->is_local ? PROC_STATE_DIED_WAIT_FOR_PID : PROC_STATE_DIED; in fcgi_host_disable()
455 "backend disabled for", hctx->host->disable_time, "seconds"); in fcgi_host_disable()
487 handler_ctx * hctx; in handler_ctx_init() local
489 hctx = calloc(1, sizeof(*hctx)); in handler_ctx_init()
490 assert(hctx); in handler_ctx_init()
492 hctx->fde_ndx = -1; in handler_ctx_init()
494 hctx->response_header = buffer_init(); in handler_ctx_init()
496 hctx->request_id = 0; in handler_ctx_init()
497 hctx->state = FCGI_STATE_INIT; in handler_ctx_init()
498 hctx->proc = NULL; in handler_ctx_init()
500 hctx->fd = -1; in handler_ctx_init()
502 hctx->reconnects = 0; in handler_ctx_init()
503 hctx->send_content_body = 1; in handler_ctx_init()
505 hctx->rb = chunkqueue_init(); in handler_ctx_init()
506 hctx->wb = chunkqueue_init(); in handler_ctx_init()
508 return hctx; in handler_ctx_init()
511 static void handler_ctx_free(server *srv, handler_ctx *hctx) { in handler_ctx_free() argument
512 if (hctx->host) { in handler_ctx_free()
513 fcgi_host_reset(srv, hctx); in handler_ctx_free()
516 buffer_free(hctx->response_header); in handler_ctx_free()
518 chunkqueue_free(hctx->rb); in handler_ctx_free()
519 chunkqueue_free(hctx->wb); in handler_ctx_free()
521 free(hctx); in handler_ctx_free()
1460 static int fcgi_set_state(server *srv, handler_ctx *hctx, fcgi_connection_state_t state) { in fcgi_set_state() argument
1461 hctx->state = state; in fcgi_set_state()
1462 hctx->state_timestamp = srv->cur_ts; in fcgi_set_state()
1468 static void fcgi_connection_close(server *srv, handler_ctx *hctx) { in fcgi_connection_close() argument
1472 if (NULL == hctx) return; in fcgi_connection_close()
1474 p = hctx->plugin_data; in fcgi_connection_close()
1475 con = hctx->remote_conn; in fcgi_connection_close()
1477 if (hctx->fd != -1) { in fcgi_connection_close()
1478 fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd); in fcgi_connection_close()
1479 fdevent_unregister(srv->ev, hctx->fd); in fcgi_connection_close()
1480 close(hctx->fd); in fcgi_connection_close()
1484 if (hctx->host && hctx->proc) { in fcgi_connection_close()
1485 if (hctx->got_proc) { in fcgi_connection_close()
1487 fcgi_proc_load_dec(srv, hctx); in fcgi_connection_close()
1492 "pid:", hctx->proc->pid, in fcgi_connection_close()
1493 "socket:", hctx->proc->connection_name, in fcgi_connection_close()
1494 "load:", hctx->proc->load); in fcgi_connection_close()
1500 handler_ctx_free(srv, hctx); in fcgi_connection_close()
1504 static int fcgi_reconnect(server *srv, handler_ctx *hctx) { in fcgi_reconnect() argument
1505 plugin_data *p = hctx->plugin_data; in fcgi_reconnect()
1526 if (hctx->fd != -1) { in fcgi_reconnect()
1527 fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd); in fcgi_reconnect()
1528 fdevent_unregister(srv->ev, hctx->fd); in fcgi_reconnect()
1529 close(hctx->fd); in fcgi_reconnect()
1531 hctx->fd = -1; in fcgi_reconnect()
1534 fcgi_set_state(srv, hctx, FCGI_STATE_INIT); in fcgi_reconnect()
1536 hctx->request_id = 0; in fcgi_reconnect()
1537 hctx->reconnects++; in fcgi_reconnect()
1540 if (hctx->proc) { in fcgi_reconnect()
1543 hctx->proc->pid, hctx->proc->connection_name); in fcgi_reconnect()
1547 hctx->host->unixsocket); in fcgi_reconnect()
1551 if (hctx->proc && hctx->got_proc) { in fcgi_reconnect()
1552 fcgi_proc_load_dec(srv, hctx); in fcgi_reconnect()
1556 fcgi_host_reset(srv, hctx); in fcgi_reconnect()
1646 static connection_result_t fcgi_establish_connection(server *srv, handler_ctx *hctx) { in fcgi_establish_connection() argument
1654 fcgi_extension_host *host = hctx->host; in fcgi_establish_connection()
1655 fcgi_proc *proc = hctx->proc; in fcgi_establish_connection()
1656 int fcgi_fd = hctx->fd; in fcgi_establish_connection()
1716 if (hctx->conf.debug > 2) { in fcgi_establish_connection()
1723 if (hctx->conf.debug) { in fcgi_establish_connection()
1741 hctx->reconnects = 0; in fcgi_establish_connection()
1742 if (hctx->conf.debug > 1) { in fcgi_establish_connection()
1816 static int fcgi_create_env(server *srv, handler_ctx *hctx, size_t request_id) { in fcgi_create_env() argument
1827 plugin_data *p = hctx->plugin_data; in fcgi_create_env()
1828 fcgi_extension_host *host= hctx->host; in fcgi_create_env()
1830 connection *con = hctx->remote_conn; in fcgi_create_env()
1844 b = chunkqueue_get_append_buffer(hctx->wb); in fcgi_create_env()
2048 hctx->wb->bytes_in += b->used - 1; in fcgi_create_env()
2065 b = chunkqueue_get_append_buffer(hctx->wb); in fcgi_create_env()
2068 hctx->wb->bytes_in += sizeof(header); in fcgi_create_env()
2094 chunkqueue_append_file(hctx->wb, req_c->file.name, req_c->offset, weHave); in fcgi_create_env()
2100 hctx->wb->bytes_in += weHave; in fcgi_create_env()
2120 c = hctx->wb->last; in fcgi_create_env()
2146 hctx->wb->bytes_in += weHave; in fcgi_create_env()
2165 b = chunkqueue_get_append_buffer(hctx->wb); in fcgi_create_env()
2171 hctx->wb->bytes_in += sizeof(header); in fcgi_create_env()
2179 handler_ctx *hctx = con->plugin_ctx[p->id]; in fcgi_response_parse() local
2180 fcgi_extension_host *host= hctx->host; in fcgi_response_parse()
2256 …if (host->allow_xsendfile && 0 == strncasecmp(key, "X-Sendfile2", key_len)&& hctx->send_content_bo… in fcgi_response_parse()
2357 hctx->send_content_body = 0; in fcgi_response_parse()
2391 static int fastcgi_get_packet(server *srv, handler_ctx *hctx, fastcgi_response_packet *packet) { in fastcgi_get_packet() argument
2397 if (!hctx->rb->first) return -1; in fastcgi_get_packet()
2407 for (c = hctx->rb->first; c; c = c->next) { in fastcgi_get_packet()
2428 if (hctx->plugin_data->conf.debug) { in fastcgi_get_packet()
2472 for (c = hctx->rb->first; c && toread; c = c->next) { in fastcgi_get_packet()
2483 chunkqueue_remove_finished_chunks(hctx->rb); in fastcgi_get_packet()
2488 static int fcgi_demux_response(server *srv, handler_ctx *hctx) { in fcgi_demux_response() argument
2493 plugin_data *p = hctx->plugin_data; in fcgi_demux_response()
2494 connection *con = hctx->remote_conn; in fcgi_demux_response()
2495 int fcgi_fd = hctx->fd; in fcgi_demux_response()
2496 fcgi_extension_host *host= hctx->host; in fcgi_demux_response()
2497 fcgi_proc *proc = hctx->proc; in fcgi_demux_response()
2502 if (ioctl(hctx->fd, FIONREAD, &toread)) { in fcgi_demux_response()
2514 chunk *cq_first = hctx->rb->first; in fcgi_demux_response()
2515 chunk *cq_last = hctx->rb->last; in fcgi_demux_response()
2517 b = chunkqueue_get_append_buffer(hctx->rb); in fcgi_demux_response()
2521 if (-1 == (r = read(hctx->fd, b->ptr, toread))) { in fcgi_demux_response()
2525 buffer_free(hctx->rb->last->mem); in fcgi_demux_response()
2526 free(hctx->rb->last); in fcgi_demux_response()
2527 hctx->rb->first = cq_first; in fcgi_demux_response()
2528 hctx->rb->last = cq_last; in fcgi_demux_response()
2559 if (0 != fastcgi_get_packet(srv, hctx, &packet)) { in fcgi_demux_response()
2582 if (hctx->response_header->used == 0) { in fcgi_demux_response()
2583 buffer_copy_string_buffer(hctx->response_header, packet.b); in fcgi_demux_response()
2585 buffer_append_string_buffer(hctx->response_header, packet.b); in fcgi_demux_response()
2588 if (NULL != (c = buffer_search_string_len(hctx->response_header, CONST_STR_LEN("\r\n\r\n")))) { in fcgi_demux_response()
2589 blen = hctx->response_header->used - (c - hctx->response_header->ptr) - 4; in fcgi_demux_response()
2590 hctx->response_header->used = (c - hctx->response_header->ptr) + 3; in fcgi_demux_response()
2592 … } else if (NULL != (c = buffer_search_string_len(hctx->response_header, CONST_STR_LEN("\n\n")))) { in fcgi_demux_response()
2593 blen = hctx->response_header->used - (c - hctx->response_header->ptr) - 2; in fcgi_demux_response()
2594 hctx->response_header->used = c - hctx->response_header->ptr + 2; in fcgi_demux_response()
2602 if (fcgi_response_parse(srv, con, p, hctx->response_header)) { in fcgi_demux_response()
2604 hctx->send_content_body = 0; in fcgi_demux_response()
2615 hctx->send_content_body = 0; in fcgi_demux_response()
2618 if (host->allow_xsendfile && hctx->send_content_body && in fcgi_demux_response()
2630 hctx->send_content_body = 0; /* ignore the content */ in fcgi_demux_response()
2645 hctx->send_content_body = 0; in fcgi_demux_response()
2652 if (hctx->send_content_body && blen > 1) { in fcgi_demux_response()
2662 } else if (hctx->send_content_body && packet.b->used > 1) { in fcgi_demux_response()
2840 static handler_t fcgi_write_request(server *srv, handler_ctx *hctx) { in fcgi_write_request() argument
2841 plugin_data *p = hctx->plugin_data; in fcgi_write_request()
2842 fcgi_extension_host *host= hctx->host; in fcgi_write_request()
2843 connection *con = hctx->remote_conn; in fcgi_write_request()
2864 if (hctx->state == FCGI_STATE_CONNECT_DELAYED) { in fcgi_write_request()
2869 if (0 != getsockopt(hctx->fd, SOL_SOCKET, SO_ERROR, &socket_error, &socket_error_len)) { in fcgi_write_request()
2873 fcgi_host_disable(srv, hctx); in fcgi_write_request()
2878 if (!hctx->proc->is_local || p->conf.debug) { in fcgi_write_request()
2883 "socket:", hctx->proc->connection_name); in fcgi_write_request()
2886 fcgi_host_disable(srv, hctx); in fcgi_write_request()
2888 …"backend is overloaded; we'll disable it for", hctx->host->disable_time, "seconds and send the req… in fcgi_write_request()
2889 "reconnects:", hctx->reconnects, in fcgi_write_request()
2892 fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); in fcgi_write_request()
2900 hctx->state = FCGI_STATE_PREPARE_WRITE; in fcgi_write_request()
2904 switch(hctx->state) { in fcgi_write_request()
2910 hctx->proc = NULL; in fcgi_write_request()
2912 for (proc = hctx->host->first; in fcgi_write_request()
2918 hctx->fde_ndx = -1; in fcgi_write_request()
2923 hctx->proc = proc; in fcgi_write_request()
2928 if (proc->load < hctx->proc->load) hctx->proc = proc; in fcgi_write_request()
2933 if (-1 == (hctx->fd = socket(ret, SOCK_STREAM, 0))) { in fcgi_write_request()
2946 hctx->fde_ndx = -1; in fcgi_write_request()
2950 fdevent_register(srv->ev, hctx->fd, fcgi_handle_fdevent, hctx); in fcgi_write_request()
2952 if (-1 == fdevent_fcntl_set(srv->ev, hctx->fd)) { in fcgi_write_request()
2959 if (hctx->proc->is_local) { in fcgi_write_request()
2960 hctx->pid = hctx->proc->pid; in fcgi_write_request()
2963 switch (fcgi_establish_connection(srv, hctx)) { in fcgi_write_request()
2967 fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); in fcgi_write_request()
2969 fcgi_set_state(srv, hctx, FCGI_STATE_CONNECT_DELAYED); in fcgi_write_request()
2975 if (hctx->host->disable_time) { in fcgi_write_request()
2977 …"backend is overloaded; we'll disable it for", hctx->host->disable_time, "seconds and send the req… in fcgi_write_request()
2978 "reconnects:", hctx->reconnects, in fcgi_write_request()
2981 hctx->proc->disabled_until = srv->cur_ts + hctx->host->disable_time; in fcgi_write_request()
2982 if (hctx->proc->state == PROC_STATE_RUNNING) hctx->host->active_procs--; in fcgi_write_request()
2983 hctx->proc->state = PROC_STATE_OVERLOADED; in fcgi_write_request()
2986 fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); in fcgi_write_request()
3000 fcgi_host_disable(srv, hctx); in fcgi_write_request()
3003 …"backend died; we'll disable it for", hctx->host->disable_time, "seconds and send the request to a… in fcgi_write_request()
3004 "reconnects:", hctx->reconnects, in fcgi_write_request()
3007 fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); in fcgi_write_request()
3016 fcgi_set_state(srv, hctx, FCGI_STATE_PREPARE_WRITE); in fcgi_write_request()
3024 fcgi_proc_load_inc(srv, hctx); in fcgi_write_request()
3025 hctx->got_proc = 1; in fcgi_write_request()
3029 fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); in fcgi_write_request()
3037 "pid:", hctx->proc->pid, in fcgi_write_request()
3038 "socket:", hctx->proc->connection_name, in fcgi_write_request()
3039 "load:", hctx->proc->load); in fcgi_write_request()
3043 if (hctx->request_id == 0) { in fcgi_write_request()
3044 hctx->request_id = 1; /* always use id 1 as we don't use multiplexing */ in fcgi_write_request()
3047 "fcgi-request is already in use:", hctx->request_id); in fcgi_write_request()
3051 if (-1 == fcgi_create_env(srv, hctx, hctx->request_id)) return HANDLER_ERROR; in fcgi_write_request()
3052 fcgi_set_state(srv, hctx, FCGI_STATE_WRITE); in fcgi_write_request()
3055 ret = srv->network_backend_write(srv, con, hctx->fd, hctx->wb, MAX_WRITE_LIMIT); in fcgi_write_request()
3057 chunkqueue_remove_finished_chunks(hctx->wb); in fcgi_write_request()
3070 "write-offset:", hctx->wb->bytes_out, in fcgi_write_request()
3071 "socket:", hctx->proc->connection_name); in fcgi_write_request()
3082 if (hctx->wb->bytes_out == hctx->wb->bytes_in) { in fcgi_write_request()
3084 fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd); in fcgi_write_request()
3085 fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); in fcgi_write_request()
3086 fcgi_set_state(srv, hctx, FCGI_STATE_READ); in fcgi_write_request()
3088 fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); in fcgi_write_request()
3111 handler_ctx *hctx = con->plugin_ctx[p->id]; in SUBREQUEST_FUNC() local
3114 if (NULL == hctx) return HANDLER_GO_ON; in SUBREQUEST_FUNC()
3122 if (hctx->host == NULL) { in SUBREQUEST_FUNC()
3127 ndx = hctx->ext->last_used_ndx + 1; in SUBREQUEST_FUNC()
3128 if(ndx >= (int) hctx->ext->used || ndx < 0) ndx = 0; in SUBREQUEST_FUNC()
3129 host = hctx->ext->hosts[ndx]; in SUBREQUEST_FUNC()
3132 for (k = 0, ndx = -1; k < hctx->ext->used; k++) { in SUBREQUEST_FUNC()
3133 host = hctx->ext->hosts[k]; in SUBREQUEST_FUNC()
3150 fcgi_connection_close(srv, hctx); in SUBREQUEST_FUNC()
3158 hctx->ext->last_used_ndx = ndx; in SUBREQUEST_FUNC()
3159 host = hctx->ext->hosts[ndx]; in SUBREQUEST_FUNC()
3171 fcgi_host_assign(srv, hctx, host); in SUBREQUEST_FUNC()
3172 hctx->proc = NULL; in SUBREQUEST_FUNC()
3174 host = hctx->host; in SUBREQUEST_FUNC()
3178 switch(fcgi_write_request(srv, hctx)) { in SUBREQUEST_FUNC()
3180 host = hctx->host; in SUBREQUEST_FUNC()
3182 if (hctx->state == FCGI_STATE_INIT || in SUBREQUEST_FUNC()
3183 hctx->state == FCGI_STATE_CONNECT_DELAYED) { in SUBREQUEST_FUNC()
3187 if (hctx->reconnects < 5) { in SUBREQUEST_FUNC()
3188 fcgi_reconnect(srv, hctx); in SUBREQUEST_FUNC()
3193 fcgi_connection_close(srv, hctx); in SUBREQUEST_FUNC()
3203 fcgi_connection_close(srv, hctx); in SUBREQUEST_FUNC()
3227 handler_ctx *hctx = ctx; in fcgi_handle_fdevent() local
3228 connection *con = hctx->remote_conn; in fcgi_handle_fdevent()
3229 plugin_data *p = hctx->plugin_data; in fcgi_handle_fdevent()
3231 fcgi_proc *proc = hctx->proc; in fcgi_handle_fdevent()
3232 fcgi_extension_host *host= hctx->host; in fcgi_handle_fdevent()
3235 hctx->state == FCGI_STATE_READ) { in fcgi_handle_fdevent()
3236 switch (fcgi_demux_response(srv, hctx)) { in fcgi_handle_fdevent()
3255 fcgi_connection_close(srv, hctx); in fcgi_handle_fdevent()
3262 fcgi_connection_close(srv, hctx); in fcgi_handle_fdevent()
3317 if (hctx->wb->bytes_out == 0 && in fcgi_handle_fdevent()
3318 hctx->reconnects < 5) { in fcgi_handle_fdevent()
3319 fcgi_reconnect(srv, hctx); in fcgi_handle_fdevent()
3330 "response not received, request sent:", hctx->wb->bytes_out, in fcgi_handle_fdevent()
3334 fcgi_connection_close(srv, hctx); in fcgi_handle_fdevent()
3342 fcgi_connection_close(srv, hctx); in fcgi_handle_fdevent()
3361 if (hctx->state == FCGI_STATE_CONNECT_DELAYED || in fcgi_handle_fdevent()
3362 hctx->state == FCGI_STATE_WRITE) { in fcgi_handle_fdevent()
3372 hctx->state); in fcgi_handle_fdevent()
3378 if (hctx->state == FCGI_STATE_CONNECT_DELAYED) { in fcgi_handle_fdevent()
3389 } else if (hctx->state == FCGI_STATE_READ && in fcgi_handle_fdevent()
3390 hctx->proc->port == 0) { in fcgi_handle_fdevent()
3401 hctx->state); in fcgi_handle_fdevent()
3404 fcgi_connection_close(srv, hctx); in fcgi_handle_fdevent()
3414 fcgi_connection_close(srv, hctx); in fcgi_handle_fdevent()
3590 handler_ctx *hctx; in fcgi_check_extension() local
3593 hctx = handler_ctx_init(); in fcgi_check_extension()
3595 hctx->remote_conn = con; in fcgi_check_extension()
3596 hctx->plugin_data = p; in fcgi_check_extension()
3597 hctx->proc = NULL; in fcgi_check_extension()
3598 hctx->ext = extension; in fcgi_check_extension()
3601 hctx->conf.exts = p->conf.exts; in fcgi_check_extension()
3602 hctx->conf.debug = p->conf.debug; in fcgi_check_extension()
3604 con->plugin_ctx[p->id] = hctx; in fcgi_check_extension()
3660 handler_ctx *hctx; in fcgi_check_extension() local
3661 hctx = handler_ctx_init(); in fcgi_check_extension()
3663 hctx->remote_conn = con; in fcgi_check_extension()
3664 hctx->plugin_data = p; in fcgi_check_extension()
3665 hctx->proc = NULL; in fcgi_check_extension()
3666 hctx->ext = extension; in fcgi_check_extension()
3668 hctx->conf.exts = p->conf.exts; in fcgi_check_extension()
3669 hctx->conf.debug = p->conf.debug; in fcgi_check_extension()
3671 con->plugin_ctx[p->id] = hctx; in fcgi_check_extension()
3695 handler_ctx *hctx = con->plugin_ctx[p->id]; in JOBLIST_FUNC() local
3697 if (hctx == NULL) return HANDLER_GO_ON; in JOBLIST_FUNC()
3699 if (hctx->fd != -1) { in JOBLIST_FUNC()
3700 switch (hctx->state) { in JOBLIST_FUNC()
3702 fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); in JOBLIST_FUNC()
3707 fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); in JOBLIST_FUNC()
3714 log_error_write(srv, __FILE__, __LINE__, "sd", "unhandled fcgi.state", hctx->state); in JOBLIST_FUNC()