From 785a7a67db4cfda1760c0757939809afff5476e9 Mon Sep 17 00:00:00 2001 From: Jameson Nash Date: Tue, 29 Jun 2021 17:48:21 -0400 Subject: [PATCH] threads: move safepoint into loop Fixes #41407 --- src/partr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/partr.c b/src/partr.c index bfe1f29fa4d1b..c3de56b80cc92 100644 --- a/src/partr.c +++ b/src/partr.c @@ -159,6 +159,7 @@ static inline jl_task_t *multiq_deletemin(void) int16_t prio1, prio2; jl_task_t *task; retry: + jl_gc_safepoint(); for (i = 0; i < heap_p; ++i) { rn1 = cong(heap_p, cong_unbias, &ptls->rngseed); rn2 = cong(heap_p, cong_unbias, &ptls->rngseed); @@ -397,7 +398,6 @@ static jl_task_t *get_next_task(jl_value_t *trypoptask, jl_value_t *q) jl_set_task_tid(task, self); return task; } - jl_gc_safepoint(); return multiq_deletemin(); }