summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2005-03-10 18:06:54 +0000
committerMarius Vollmer <mvo@zagadka.de>2005-03-10 18:06:54 +0000
commit1a8fdd7e12a7248ea51b1292bd350b708538d95a (patch)
treedc862c1a2f04c7cc834e863b3254096d5ce57e45 /libguile
parentfc240b46e94e9ea8619adf39b39759f996f4e91c (diff)
downloadguile-1a8fdd7e12a7248ea51b1292bd350b708538d95a.tar.gz
(scm_i_thread): Added gc_running_p field.
(guilify_self_1): Initialize it.
Diffstat (limited to 'libguile')
-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.
*/