# HG changeset patch # User Olaf Wintermann # Date 1716468993 -7200 # Node ID 0b09f0cb609899f9de5999139e943393b6411b9a # Parent 857e5b92828bb3a0e7bc064741b412761e9442c6 add wait_read to cgi debug logging diff -r 857e5b92828b -r 0b09f0cb6098 src/server/safs/cgi.c --- a/src/server/safs/cgi.c Thu May 23 12:31:30 2024 +0200 +++ b/src/server/safs/cgi.c Thu May 23 14:56:33 2024 +0200 @@ -327,6 +327,7 @@ handler->result = REQ_ABORTED; } else { handler->poll_out = TRUE; + handler->events++; log_ereport(LOG_DEBUG, "cgi-send: req: %p enable poll out", handler->parser->rq); return 1; // keep readevent active } @@ -559,7 +560,18 @@ } else if(event->fn == cgi_writeevent) { event_fn = "httpout"; } - log_ereport(LOG_DEBUG, "cgi-send: req: %p finish: event: %d pollout: %d cgi_eof: %d fn: %s", rq, handler->events, handler->poll_out, handler->cgi_eof, event_fn); + log_ereport(LOG_DEBUG, "cgi-send: req: %p finish: event: %d pollout: %d wait_read: %d cgi_eof: %d fn: %s", rq, handler->events, handler->poll_out, handler->wait_read, handler->cgi_eof, event_fn); + + if(handler->poll_out) { + // write event registered, however it will not be activated anymore + // we can safely remove the event + log_ereport(LOG_DEBUG, "cgi-send: req: %p finish: remove-poll write", rq); + if(event_removepoll(ev, sn->csd)) { + log_ereport(LOG_FAILURE, "cgi_event_finish: event_removepoll: %s", strerror(errno)); + } + handler->events--; + handler->poll_out = FALSE; + } if(--handler->events > 0) { return 0; @@ -588,14 +600,6 @@ } } */ - if(handler->poll_out) { - // write event registered, however it will not be activated anymore - // we can safely remove the event - log_ereport(LOG_DEBUG, "cgi-send: req: %p finish: remove-poll write", rq); - if(event_removepoll(ev, sn->csd)) { - log_ereport(LOG_FAILURE, "cgi_event_finish: event_removepoll: %s", strerror(errno)); - } - } if(handler->result == REQ_ABORTED && handler->process.pid != 0) { log_ereport(LOG_FAILURE, "cgi-send: kill script: %s", handler->path);