Skip to content

Commit 93ec36a

Browse files
committed
fix atomics
1 parent 9531585 commit 93ec36a

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/opaque_closure.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,19 +59,19 @@ jl_opaque_closure_t *jl_new_opaque_closure(jl_tupletype_t *argt, jl_value_t *isv
5959
oc->captures = captures;
6060
oc->specptr = NULL;
6161
int compiled = 0;
62-
if (ci->invoke == jl_fptr_interpret_call) {
62+
if (jl_atomic_load_relaxed(&ci->invoke) == jl_fptr_interpret_call) {
6363
oc->invoke = (jl_fptr_args_t)jl_interpret_opaque_closure;
6464
}
65-
else if (ci->invoke == jl_fptr_args) {
65+
else if (jl_atomic_load_relaxed(&ci->invoke) == jl_fptr_args) {
6666
oc->invoke = jl_atomic_load_relaxed(&ci->specptr.fptr1);
6767
compiled = 1;
6868
}
69-
else if (ci->invoke == jl_fptr_const_return) {
69+
else if (jl_atomic_load_relaxed(&ci->invoke) == jl_fptr_const_return) {
7070
oc->invoke = (jl_fptr_args_t)jl_fptr_const_opaque_closure;
7171
oc->captures = ci->rettype_const;
7272
}
7373
else {
74-
oc->invoke = (jl_fptr_args_t)ci->invoke;
74+
oc->invoke = (jl_fptr_args_t)jl_atomic_load_relaxed(&ci->invoke);
7575
compiled = 1;
7676
}
7777
if (oc->isva && compiled) {

0 commit comments

Comments
 (0)