summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/threads.c1
-rw-r--r--libguile/threads.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/libguile/threads.c b/libguile/threads.c
index 5d1390941..8b394584e 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -300,6 +300,7 @@ guilify_self_1 (SCM_STACKITEM *base)
pipe (t->sleep_pipe);
scm_i_pthread_mutex_init (&t->heap_mutex, NULL);
t->clear_freelists_p = 0;
+ t->gc_running_p = 0;
t->exited = 0;
t->freelist = SCM_EOL;
diff --git a/libguile/threads.h b/libguile/threads.h
index 3e16fbbcd..89a701075 100644
--- a/libguile/threads.h
+++ b/libguile/threads.h
@@ -69,6 +69,8 @@ typedef struct scm_i_thread {
*/
SCM freelist, freelist2;
int clear_freelists_p; /* set if GC was done while thread was asleep */
+ int gc_running_p; /* non-zero while this thread does GC or a
+ sweep. */
/* Other thread local things.
*/