libmicrohttpd2

HTTP server C library (MHD 2.x, alpha)
Log | Files | Refs | README | LICENSE

commit 0a3e9e305620fa37e515eb9b2f9f7b75dd3fb99f
parent 6429e7a384b340e634656536bd2bfe0259118e3c
Author: Evgeny Grin (Karlson2k) <k2k@drgrin.dev>
Date:   Wed,  4 Jun 2025 02:22:25 +0200

mhd_response_check_frozen_freeze(): fixed assert

Diffstat:
Msrc/mhd2/response_funcs.c | 8+++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/mhd2/response_funcs.c b/src/mhd2/response_funcs.c @@ -35,7 +35,6 @@ #include "mhd_locks.h" #include "response_options.h" - #include "mhd_atomic_counter.h" @@ -118,15 +117,18 @@ mhd_response_check_frozen_freeze (struct MHD_Response *restrict response) if (response->reuse.reusable) { - need_unlock = true; mhd_mutex_lock_chk (&(response->reuse.settings_lock)); - mhd_assert (1 == mhd_atomic_counter_get (&(response->reuse.counter))); + need_unlock = true; } else need_unlock = false; if (! response->frozen)/* Re-check under the lock */ + { + mhd_assert ((! response->reuse.reusable) || \ + (1 == mhd_atomic_counter_get (&(response->reuse.counter)))); response_set_properties (response); + } if (need_unlock) mhd_mutex_unlock_chk (&(response->reuse.settings_lock));