Selaa lähdekoodia

Merge pull request #860 from vaind/thread-startup-order

Start master_thread after worker threads to avoid data race on worker_threadids
bel2125 5 vuotta sitten
vanhempi
commit
71ed621439
1 muutettua tiedostoa jossa 3 lisäystä ja 3 poistoa
  1. 3 3
      src/civetweb.c

+ 3 - 3
src/civetweb.c

@@ -19606,9 +19606,6 @@ static
 	ctx->callbacks.exit_context = exit_callback;
 	ctx->context_type = CONTEXT_SERVER; /* server context */
 
-	/* Start master (listening) thread */
-	mg_start_thread_with_id(master_thread, ctx, &ctx->masterthreadid);
-
 	/* Start worker threads */
 	for (i = 0; i < ctx->cfg_worker_threads; i++) {
 		/* worker_thread sets up the other fields */
@@ -19658,6 +19655,9 @@ static
 		}
 	}
 
+    /* Start master (listening) thread */
+    mg_start_thread_with_id(master_thread, ctx, &ctx->masterthreadid);
+
 	pthread_setspecific(sTlsKey, NULL);
 	return ctx;
 }