From e068da4f6b9ca08909f089ce94b1f0e9f55d393b Mon Sep 17 00:00:00 2001 From: yhirose Date: Sun, 22 Feb 2026 08:46:30 -0500 Subject: [PATCH] Fix race condittion with logging --- httplib.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/httplib.h b/httplib.h index a2f8fa51..16da7b2d 100644 --- a/httplib.h +++ b/httplib.h @@ -10726,6 +10726,10 @@ inline bool Server::write_response_core(Stream &strm, bool close_connection, bstrm.write(res.body.data(), res.body.size()); } + // Log before writing to avoid race condition with client-side code that + // accesses logger-captured data immediately after receiving the response. + output_log(req, res); + // Flush buffer auto &data = bstrm.get_buffer(); if (!detail::write_data(strm, data.data(), data.size())) { return false; } @@ -10740,9 +10744,6 @@ inline bool Server::write_response_core(Stream &strm, bool close_connection, } } - // Log - output_log(req, res); - return ret; }