repair to `custodian-shutdown-all'
This appears to be an old bug where a check and use are misordered, so I'm not sure why it hasn't caused more trouble before, but it depends on a GC happening at the right time. Closes PR 13245
This commit is contained in:
parent
a4d440a5e9
commit
483148e528
|
@ -1301,7 +1301,7 @@ Scheme_Thread *scheme_do_close_managed(Scheme_Custodian *m, Scheme_Exit_Closer_F
|
|||
f = m->closers[i];
|
||||
data = m->data[i];
|
||||
|
||||
if (!cf && (SAME_TYPE(SCHEME_TYPE(o), scheme_thread_hop_type))) {
|
||||
if (o && !cf && (SAME_TYPE(SCHEME_TYPE(o), scheme_thread_hop_type))) {
|
||||
/* We've added an indirection and made it weak. See mr_hop note above. */
|
||||
is_thread = 1;
|
||||
the_thread = (Scheme_Thread *)WEAKIFIED(((Scheme_Thread_Custodian_Hop *)o)->p);
|
||||
|
|
Loading…
Reference in New Issue
Block a user