Another version, variant for MHD_connection_handle_idle(). Short description: Inside the function MHD_connection_handle_idle() between the loop and later calling MHD_connection_update_event_loop_info() a lot things may happen.
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c index f192a1bb..ab542913 100644 --- a/src/microhttpd/connection.c +++ b/src/microhttpd/connection.c @@ -3211,6 +3211,10 @@ MHD_connection_handle_idle (struct MHD_Connection *connection) } break; } + if (connection->suspended) { + connection->in_idle = false; + return MHD_YES; + } timeout = connection->connection_timeout; if ( (0 != timeout) && (timeout <= (MHD_monotonic_sec_counter() - connection->last_activity)) ) Can't say which version is better, good, bad, either valid or invalid. I hope the bug will be fixed somehow. Thanks. -- With Best Regards, Vitaliy V. Tokarev