diff options
context:
space:
mode:
authorBryce Kwon <bryce@brycekwon.com>
committerBryce Kwon <bryce@brycekwon.com>
commit
parent
tree
download
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.
Diffstat (limited to 'source/filter.h')
-rw-r--r--source/filter.h6
1 file changed, 6 insertions, 0 deletions
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