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/cache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/cache.c') diff --git a/source/cache.c b/source/cache.c index 8c81f5c..62bb623 100644 --- a/source/cache.c +++ b/source/cache.c @@ -175,7 +175,8 @@ static int serve_slot(struct cache_slot *slot) int err; err = print_slot(slot); - if (err) + // A client that went away mid-page is not trouble worth a line. + if (err && err != EPIPE) log_error("[cgit] Unable to send slot %s: %s (%d)\n", slot->path, strerror(err), err); return err; } -- cgit v2.8.0