diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index 91ad5406..f75d02b1 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c @@ -1734,8 +1734,9 @@ thread_main_connection_upgrade (struct MHD_Connection *con) { struct timeval*tvp; struct timeval tv; - if ( (con->tls_read_ready) && - (urh->in_buffer_used < urh->in_buffer_size)) + if (((con->tls_read_ready) && + (urh->in_buffer_used < urh->in_buffer_size)) || + (daemon->shutdown)) { /* No need to wait if incoming data is already pending in TLS buffers. */ tv.tv_sec = 0; tv.tv_usec = 0; @@ -1792,8 +1793,9 @@ thread_main_connection_upgrade (struct MHD_Connection *con) urh_update_pollfd (urh, p); - if ( (con->tls_read_ready) && - (urh->in_buffer_used < urh->in_buffer_size)) + if (((con->tls_read_ready) && + (urh->in_buffer_used < urh->in_buffer_size)) || + (daemon->shutdown)) timeout = 0; /* No need to wait if incoming data is already pending in TLS buffers. */ else timeout = -1;