aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-01-02 20:42:22 +0000
committergingerBill <bill@gingerbill.org>2023-01-02 20:42:22 +0000
commitdf2767311f11255da311a23bc240077fa8f933b1 (patch)
tree8ae725738a79cd2e706490791c54cf894903d638 /src/checker.cpp
parent09c26e6be006cb285aed4b0780bee368516fd272 (diff)
Use `mutex_try_lock` in `check_proc_info`
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index dc6a49bcf..f80ea9e4c 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -5050,7 +5050,10 @@ gb_internal bool check_proc_info(Checker *c, ProcInfo *pi, UntypedExprInfoMap *u
return false;
}
- MUTEX_GUARD(&pi->decl->proc_checked_mutex);
+ if (!mutex_try_lock(&pi->decl->proc_checked_mutex)) {
+ return false;
+ }
+ defer (mutex_unlock(&pi->decl->proc_checked_mutex));
Entity *e = pi->decl->entity;
switch (pi->decl->proc_checked_state.load()) {