Browse Source

Merge pull request #3504 from Feoramund/fix-racecond-error-va

Fix race condition in `error_va`
gingerBill 1 year ago
parent
commit
2f88ded81a
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/error.cpp

+ 1 - 1
src/error.cpp

@@ -376,11 +376,11 @@ gb_internal void error_out_coloured(char const *str, TerminalStyle style, Termin
 
 gb_internal void error_va(TokenPos const &pos, TokenPos end, char const *fmt, va_list va) {
 	global_error_collector.count.fetch_add(1);
+	mutex_lock(&global_error_collector.mutex);
 	if (global_error_collector.count > MAX_ERROR_COLLECTOR_COUNT()) {
 		print_all_errors();
 		gb_exit(1);
 	}
-	mutex_lock(&global_error_collector.mutex);
 
 	push_error_value(pos, ErrorValue_Error);
 	// NOTE(bill): Duplicate error, skip it