summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2016-11-01 23:28:12 +0100
committerAndy Wingo <wingo@pobox.com>2016-11-01 23:33:47 +0100
commit4b78b001d875cee7a4ee383f0cb498afc67835ee (patch)
tree52ae8a1713e3d4b8d8b3b39e1c53da0169e61fd9
parent8fc9450619a78023b0f4ea7c604569b5c5385927 (diff)
downloadguile-4b78b001d875cee7a4ee383f0cb498afc67835ee.tar.gz
Threads no longer track critical section level
* libguile/threads.h (scm_i_thread): * libguile/threads.c (guilify_self_1): Remove critical_section_level member of scm_i_thread. * libguile/async.c (scm_critical_section_end) (scm_critical_section_start): Remove bookkeeping.
-rw-r--r--libguile/async.c2
-rw-r--r--libguile/threads.c1
-rw-r--r--libguile/threads.h4
3 files changed, 0 insertions, 7 deletions
diff --git a/libguile/async.c b/libguile/async.c
index d7b266bd2..e45616755 100644
--- a/libguile/async.c
+++ b/libguile/async.c
@@ -306,13 +306,11 @@ scm_critical_section_start (void)
{
scm_i_pthread_mutex_lock (&critical_section_mutex);
SCM_I_CURRENT_THREAD->block_asyncs++;
- SCM_I_CURRENT_THREAD->critical_section_level++;
}
void
scm_critical_section_end (void)
{
- SCM_I_CURRENT_THREAD->critical_section_level--;
SCM_I_CURRENT_THREAD->block_asyncs--;
scm_i_pthread_mutex_unlock (&critical_section_mutex);
scm_async_tick ();
diff --git a/libguile/threads.c b/libguile/threads.c
index c27a7ea55..c1f416981 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -421,7 +421,6 @@ guilify_self_1 (struct GC_stack_base *base)
t.dynstack.limit = NULL;
t.pending_asyncs = SCM_EOL;
t.block_asyncs = 1;
- t.critical_section_level = 0;
t.base = base->mem_base;
#ifdef __ia64__
t.register_backing_store_base = base->reg_base;
diff --git a/libguile/threads.h b/libguile/threads.h
index b7f0fd987..6cf575be1 100644
--- a/libguile/threads.h
+++ b/libguile/threads.h
@@ -118,10 +118,6 @@ typedef struct scm_i_thread {
void *register_backing_store_base;
scm_t_contregs *pending_rbs_continuation;
#endif
-
- /* Whether this thread is in a critical section. */
- int critical_section_level;
-
} scm_i_thread;
#define SCM_I_IS_THREAD(x) SCM_SMOB_PREDICATE (scm_tc16_thread, x)