Correct race condition on untyped expr info map logic on global evaluations

This commit is contained in:
gingerBill
2021-07-27 23:37:55 +01:00
parent a5d6fda433
commit 7c80577160
2 changed files with 67 additions and 26 deletions
+5 -2
View File
@@ -279,8 +279,7 @@ struct CheckerInfo {
PtrSet<Entity *> minimum_dependency_set;
PtrSet<isize> minimum_dependency_type_info_set;
UntypedExprInfoMap global_untyped; // NOTE(bill): This needs to be a map and not on the Ast
// as it needs to be iterated across afterwards
Array<Entity *> testing_procedures;
@@ -295,6 +294,10 @@ struct CheckerInfo {
gbSemaphore collect_semaphore;
UntypedExprInfoMap global_untyped; // NOTE(bill): This needs to be a map and not on the Ast
// as it needs to be iterated across afterwards
BlockingMutex global_untyped_mutex;
// NOT recursive & Only used at the end of `check_proc_body`
// This is a possible source of contention but probably not
// too much of a problem in practice