summaryrefslogtreecommitdiff
path: root/gc_dlopen.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2019-09-25 11:28:41 +0300
committerIvan Maidanski <ivmai@mail.ru>2019-09-25 11:28:41 +0300
commitddd788fc3c3701405efde47c3f540bdf01c878dd (patch)
tree638d81376a27124daf807a6132a96d642158b001 /gc_dlopen.c
parentcc3fcc97aab53bddd89ed9ad58384c8cae18c28b (diff)
downloadbdwgc-ddd788fc3c3701405efde47c3f540bdf01c878dd.tar.gz
Set GC_collecting hint for GC_collect_a_little_inner calls (pthreads)
* alloc.c (GC_try_to_collect_inner, GC_collect_a_little): Wrap GC_collect_a_little_inner() call into ENTER/EXIT_GC(). * gc_dlopen.c [!USE_PROC_FOR_LIBRARIES] (disable_gc_for_dlopen): Likewise. * malloc.c (GC_alloc_large): Likewise.
Diffstat (limited to 'gc_dlopen.c')
-rw-r--r--gc_dlopen.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gc_dlopen.c b/gc_dlopen.c
index 0da82278..13991bae 100644
--- a/gc_dlopen.c
+++ b/gc_dlopen.c
@@ -46,7 +46,9 @@
DCL_LOCK_STATE;
LOCK();
while (GC_incremental && GC_collection_in_progress()) {
+ ENTER_GC();
GC_collect_a_little_inner(1000);
+ EXIT_GC();
}
++GC_dont_gc;
UNLOCK();