Skip to content

Commit 3c3e600

Browse files
committed
Fix my mistake: move the UNLOCK to the same scope as LOCK
1 parent 40304b5 commit 3c3e600

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

src/interpreter.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -157,11 +157,9 @@ static void eval_abstracttype(jl_expr_t *ex, interpreter_state *s)
157157
super = eval_value(args[2], s);
158158
jl_set_datatype_super(dt, super);
159159
jl_reinstantiate_inner_types(dt);
160-
JL_UNLOCK(&codegen_lock);
161160
}
162161
JL_CATCH {
163162
jl_reset_instantiate_inner_types(dt);
164-
JL_UNLOCK(&codegen_lock);
165163
b->value = temp;
166164
jl_rethrow();
167165
}
@@ -170,6 +168,7 @@ static void eval_abstracttype(jl_expr_t *ex, interpreter_state *s)
170168
jl_checked_assignment(b, w);
171169
}
172170
JL_GC_POP();
171+
JL_UNLOCK(&codegen_lock);
173172
}
174173

175174
static void eval_primitivetype(jl_expr_t *ex, interpreter_state *s)
@@ -211,11 +210,9 @@ static void eval_primitivetype(jl_expr_t *ex, interpreter_state *s)
211210
super = eval_value(args[3], s);
212211
jl_set_datatype_super(dt, super);
213212
jl_reinstantiate_inner_types(dt);
214-
JL_UNLOCK(&codegen_lock);
215213
}
216214
JL_CATCH {
217215
jl_reset_instantiate_inner_types(dt);
218-
JL_UNLOCK(&codegen_lock);
219216
b->value = temp;
220217
jl_rethrow();
221218
}
@@ -224,6 +221,7 @@ static void eval_primitivetype(jl_expr_t *ex, interpreter_state *s)
224221
jl_checked_assignment(b, w);
225222
}
226223
JL_GC_POP();
224+
JL_UNLOCK(&codegen_lock);
227225
}
228226

229227
static void eval_structtype(jl_expr_t *ex, interpreter_state *s)
@@ -275,11 +273,9 @@ static void eval_structtype(jl_expr_t *ex, interpreter_state *s)
275273
}
276274
}
277275
jl_reinstantiate_inner_types(dt);
278-
JL_UNLOCK(&codegen_lock);
279276
}
280277
JL_CATCH {
281278
jl_reset_instantiate_inner_types(dt);
282-
JL_UNLOCK(&codegen_lock);
283279
b->value = temp;
284280
jl_rethrow();
285281
}
@@ -291,6 +287,7 @@ static void eval_structtype(jl_expr_t *ex, interpreter_state *s)
291287
}
292288

293289
JL_GC_POP();
290+
JL_UNLOCK(&codegen_lock);
294291
}
295292

296293
// method definition form

0 commit comments

Comments
 (0)