1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-07 04:30:18 +02:00

Add gc_deactivate / gc_reactivate

Guile needs this.
This commit is contained in:
Andy Wingo 2025-05-15 11:39:12 +02:00
parent 675d8d649a
commit 6a554e5dd7
5 changed files with 31 additions and 2 deletions

View file

@ -1297,6 +1297,16 @@ reactivate_mutator(struct gc_heap *heap, struct gc_mutator *mut) {
heap_unlock(heap);
}
void gc_deactivate(struct gc_mutator *mut) {
GC_ASSERT(mut->active);
deactivate_mutator(mutator_heap(mut), mut);
}
void gc_reactivate(struct gc_mutator *mut) {
GC_ASSERT(!mut->active);
reactivate_mutator(mutator_heap(mut), mut);
}
void*
gc_deactivate_for_call(struct gc_mutator *mut,
void* (*f)(struct gc_mutator*, void*),