aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvar Penning <post@0x21.biz>2026-02-17 22:55:29 +0100
committerAlvar Penning <post@0x21.biz>2026-02-17 22:55:29 +0100
commitc29d691d32eea87b748587cc1f9c418a1bd1a00e (patch)
treed1065280131c0e25b641c7ada53c24cb99f7af80
parent787d0180bff0655045c3cf42bf8868609c11a6f5 (diff)
httpd: Log xs_socket_accept failure reason
So far, it was expected that xs_socket_accept should work and while its failure results in a termination, it was not properly logged. With this change, an error message including the strerror message is being logged. After experiencing some unexpected snac httpd shutdowns, I added a bit of additional logging, including when xs_socket_accept fails. This proved useful, as it unveiled a deeper error on my machine: > xs_socket_accept failed: Too many open files Since entering this code path results in termination, I thought upstreaming this logging might be useful for others.
-rw-r--r--httpd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/httpd.c b/httpd.c
index f46cfca..219af19 100644
--- a/httpd.c
+++ b/httpd.c
@@ -1116,9 +1116,10 @@ void httpd(void)
FILE *f = fdopen(cs, "r+");
xs *job = xs_data_new(&f, sizeof(FILE *));
job_post(job, 1);
- }
- else
+ } else {
+ srv_log(xs_fmt("error: xs_socket_accept failed: %s", strerror(errno)));
break;
+ }
}
}