aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2025-09-10 21:00:43 +0100
committergingerBill <gingerBill@users.noreply.github.com>2025-09-10 21:00:43 +0100
commit549edcc0f90d632587c427e5d4189721323bd4a8 (patch)
treefa683b18b3a392ce2b3ec881c1c940c9e972c2af /src/check_expr.cpp
parent34e3d3078057fdf22c2f91847096e0a3e098fa82 (diff)
Use a `RwMutex` instead of `BlockingMutex`
Diffstat (limited to 'src/check_expr.cpp')
-rw-r--r--src/check_expr.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index 86b4f3aee..abfd11485 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -5101,7 +5101,6 @@ gb_internal ExactValue get_constant_field_single(CheckerContext *c, ExactValue v
ast_node(fv, FieldValue, elem);
String name = fv->field->Ident.token.string;
Selection sub_sel = lookup_field(node->tav.type, name, false);
- defer (array_free(&sub_sel.index));
if (sub_sel.index.count > 0 &&
sub_sel.index[0] == index) {
value = fv->value->tav.value;
@@ -7885,9 +7884,9 @@ gb_internal CallArgumentError check_polymorphic_record_type(CheckerContext *c, O
{
GenTypesData *found_gen_types = ensure_polymorphic_record_entity_has_gen_types(c, original_type);
- mutex_lock(&found_gen_types->mutex);
+ rw_mutex_shared_lock(&found_gen_types->mutex);
Entity *found_entity = find_polymorphic_record_entity(found_gen_types, param_count, ordered_operands);
- mutex_unlock(&found_gen_types->mutex);
+ rw_mutex_shared_unlock(&found_gen_types->mutex);
if (found_entity) {
operand->mode = Addressing_Type;