Commit ab6f145e authored by Sergey Lyubka's avatar Sergey Lyubka

Update thread count on OOM error in worker_thread()

parent 001cd78b
...@@ -4136,8 +4136,7 @@ static void worker_thread(struct mg_context *ctx) { ...@@ -4136,8 +4136,7 @@ static void worker_thread(struct mg_context *ctx) {
conn = (struct mg_connection *) calloc(1, sizeof(*conn) + buf_size); conn = (struct mg_connection *) calloc(1, sizeof(*conn) + buf_size);
if (conn == NULL) { if (conn == NULL) {
cry(fc(ctx), "%s", "Cannot create new connection struct, OOM"); cry(fc(ctx), "%s", "Cannot create new connection struct, OOM");
return; } else {
}
conn->buf_size = buf_size; conn->buf_size = buf_size;
conn->buf = (char *) (conn + 1); conn->buf = (char *) (conn + 1);
...@@ -4158,13 +4157,15 @@ static void worker_thread(struct mg_context *ctx) { ...@@ -4158,13 +4157,15 @@ static void worker_thread(struct mg_context *ctx) {
conn->request_info.is_ssl = conn->client.is_ssl; conn->request_info.is_ssl = conn->client.is_ssl;
if (!conn->client.is_ssl || if (!conn->client.is_ssl ||
(conn->client.is_ssl && sslize(conn, conn->ctx->ssl_ctx, SSL_accept))) { (conn->client.is_ssl &&
sslize(conn, conn->ctx->ssl_ctx, SSL_accept))) {
process_new_connection(conn); process_new_connection(conn);
} }
close_connection(conn); close_connection(conn);
} }
free(conn); free(conn);
}
// Signal master that we're done with connection and exiting // Signal master that we're done with connection and exiting
(void) pthread_mutex_lock(&ctx->mutex); (void) pthread_mutex_lock(&ctx->mutex);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment