summaryrefslogtreecommitdiff
path: root/libguile/eval.c
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2005-10-23 20:47:49 +0000
committerMarius Vollmer <mvo@zagadka.de>2005-10-23 20:47:49 +0000
commitd1138028c9d19fdca5c8e3cebaebd999abafd675 (patch)
tree76ce6966b7dba373c45c5af7f69576cf2fb0d5c8 /libguile/eval.c
parent777f2ed60a04d67d8a966ecb95a809d696a1307b (diff)
downloadguile-d1138028c9d19fdca5c8e3cebaebd999abafd675.tar.gz
* null-threads.h, pthread-threads.h
(SCM_I_PTHREAD_RECURSIVE_MUTEX_INITIALIZER): Removed. (scm_i_pthread_mutexattr_recursive): New. * threads.c (scm_i_pthread_mutexattr_recursive): Declare. (scm_i_critical_section_mutex): Do not initialize statically. (scm_threads_prehistory): Initialize scm_i_pthread_mutexattr_recursive and scm_i_critical_section_mutex here. * eval.c (source_mutex): Do not initialiaze statically. (scm_init_eval): Do it here, using scm_i_pthread_mutexattr_recursive.
Diffstat (limited to 'libguile/eval.c')
-rw-r--r--libguile/eval.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libguile/eval.c b/libguile/eval.c
index e4e617fe1..3cdf9346a 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -2655,7 +2655,7 @@ static SCM deval (SCM x, SCM env);
? SCM_CAR (x) \
: *scm_lookupcar ((x), (env), 1)))))
-scm_i_pthread_mutex_t source_mutex = SCM_I_PTHREAD_RECURSIVE_MUTEX_INITIALIZER;
+scm_i_pthread_mutex_t source_mutex;
/* Lookup a given local variable in an environment. The local variable is
@@ -6022,6 +6022,9 @@ SCM (*scm_ceval_ptr) (SCM x, SCM env) = dispatching_eval;
void
scm_init_eval ()
{
+ scm_i_pthread_mutex_init (&source_mutex,
+ scm_i_pthread_mutexattr_recursive);
+
scm_init_opts (scm_evaluator_traps,
scm_evaluator_trap_table,
SCM_N_EVALUATOR_TRAPS);