From f0346bcb01e335a8ef65412da1e06a917e7b34bb Mon Sep 17 00:00:00 2001 From: Bryce Kwon Date: Thu, 1 Oct 2026 19:39:14 -1000 Subject: End a request quietly when the client has gone A write that failed with EPIPE on an uncached page died into an error page, which died again at exit when the page could not be sent either, and git logged a recursion warning on every dropped connection. A filter that exits early fails a write the same way, so the quiet exit is kept for writes that reach the client itself. --- source/filter.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/filter.h') diff --git a/source/filter.h b/source/filter.h index b5a478f..70fa4ff 100644 --- a/source/filter.h +++ b/source/filter.h @@ -59,4 +59,10 @@ extern void cgit_cleanup_filters(void); */ extern void cgit_abort_filters(void); +/* + * Whether an exec filter holds stdout at the moment, which is when a failed + * write means the filter went away rather than the client. + */ +extern int cgit_filter_holds_stdout(void); + #endif // CGIT_FILTER_H -- cgit v2.8.0