fix futures for CGC, where lightweight continuations are disabled
This commit is contained in:
parent
54e46f78bb
commit
ff6172c44b
|
@ -1214,16 +1214,16 @@ void scheme_check_future_work()
|
||||||
if (ft && ft->want_lw) {
|
if (ft && ft->want_lw) {
|
||||||
void *storage[3];
|
void *storage[3];
|
||||||
|
|
||||||
(void)capture_future_continuation(ft, storage);
|
if (capture_future_continuation(ft, storage)) {
|
||||||
|
/* Signal the waiting worker thread that it
|
||||||
/* Signal the waiting worker thread that it
|
can continue doing other things: */
|
||||||
can continue doing other things: */
|
mzrt_mutex_lock(fs->future_mutex);
|
||||||
mzrt_mutex_lock(fs->future_mutex);
|
if (ft->can_continue_sema) {
|
||||||
if (ft->can_continue_sema) {
|
mzrt_sema_post(ft->can_continue_sema);
|
||||||
mzrt_sema_post(ft->can_continue_sema);
|
ft->can_continue_sema = NULL;
|
||||||
ft->can_continue_sema = NULL;
|
}
|
||||||
|
mzrt_mutex_unlock(fs->future_mutex);
|
||||||
}
|
}
|
||||||
mzrt_mutex_unlock(fs->future_mutex);
|
|
||||||
} else
|
} else
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user