1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 03:30:27 +02:00

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.
This commit is contained in:
Andy Wingo 2016-11-01 23:28:12 +01:00
parent 8fc9450619
commit 4b78b001d8
3 changed files with 0 additions and 7 deletions

View file

@ -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 ();

View file

@ -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;

View file

@ -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)