diff options
author | Neil Jerram <neil@ossau.uklinux.net> | 2009-03-25 22:52:01 +0000 |
---|---|---|
committer | Neil Jerram <neil@ossau.uklinux.net> | 2009-03-25 22:52:01 +0000 |
commit | d460681c796139d904b42c7a378f3964b453daf6 (patch) | |
tree | a7ce2f42acefa62ca0c4bc85c9442c184c0380c8 | |
parent | 7627abf6ecf1770367ea2c5f8d61e14fa4843c8a (diff) | |
download | guile-wip-nj-thread-safety.tar.gz |
-rw-r--r-- | libguile/modules.c | 1 | ||||
-rw-r--r-- | libguile/throw.c | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/libguile/modules.c b/libguile/modules.c index 444ece1c1..da397d8e3 100644 --- a/libguile/modules.c +++ b/libguile/modules.c @@ -279,7 +279,6 @@ SCM_DEFINE (scm_env_module, "env-module", 1, 0, 0, * C level implementation of the standard eval closure * * This increases loading speed substantially. - * The code will be replaced by the low-level environments in next release. */ static SCM module_make_local_var_x_var; diff --git a/libguile/throw.c b/libguile/throw.c index 92c5a1aa5..b2ec37144 100644 --- a/libguile/throw.c +++ b/libguile/throw.c @@ -264,6 +264,7 @@ scm_c_with_throw_handler (SCM tag, { SCM pre_unwind, answer; struct pre_unwind_data c; + SCM new_dynwinds; c.handler = handler; c.handler_data = handler_data; @@ -272,7 +273,9 @@ scm_c_with_throw_handler (SCM tag, pre_unwind = make_pre_unwind_data (&c); SCM_CRITICAL_SECTION_START; - scm_i_set_dynwinds (scm_acons (tag, pre_unwind, scm_i_dynwinds ())); + new_dynwinds = scm_acons (tag, pre_unwind, SCM_BOOL_F); + SCM_SETCDR (new_dynwinds, scm_i_dynwinds ()); + scm_i_set_dynwinds (new_dynwinds); SCM_CRITICAL_SECTION_END; answer = (*body) (body_data); |