소스 검색

Fix for ALTERNATIVE_QUEUE mode

Jeremy Friesner 2 년 전
부모
커밋
0891e955d1
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      src/civetweb.c

+ 4 - 0
src/civetweb.c

@@ -20527,7 +20527,11 @@ static int mg_start_worker_thread(struct mg_context *ctx, int only_if_no_idle_th
 	}
 
 	(void)pthread_mutex_lock(&ctx->thread_mutex);
+#if defined(ALTERNATIVE_QUEUE)
+	if ((only_if_no_idle_threads)&&(ctx->idle_worker_thread_count > 0)) {
+#else
 	if ((only_if_no_idle_threads)&&(ctx->idle_worker_thread_count > (unsigned)(ctx->sq_head-ctx->sq_tail))) {
+#endif
 		(void)pthread_mutex_unlock(&ctx->thread_mutex);
 		return -2;  /* There are idle threads available, so no need to spawn a new worker thread now */
 	}