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

Fix race condition in `error_va`
This commit is contained in:
gingerBill
2024-04-29 12:03:26 +01:00
committed by GitHub

View File

@@ -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