diff options
author | Han-Wen Nienhuys <hanwen@lilypond.org> | 2004-10-07 22:52:22 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@lilypond.org> | 2004-10-07 22:52:22 +0000 |
commit | 497eb0b7252526e3694fd50f4141c34b4ba08f7d (patch) | |
tree | c7f14ed78863ed1cfd282964cc4e9de54f3f43fa /libguile | |
parent | 1097a62cd92f57609e21dd1f2c0efa890f7a54ca (diff) | |
download | guile-497eb0b7252526e3694fd50f4141c34b4ba08f7d.tar.gz |
(scm_double_cell): abort if GC running.
(scm_cell): idem.
Diffstat (limited to 'libguile')
-rw-r--r-- | libguile/ChangeLog | 5 | ||||
-rw-r--r-- | libguile/error.c | 1 | ||||
-rw-r--r-- | libguile/inline.h | 10 |
3 files changed, 15 insertions, 1 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 799feea7d..23c2d5da5 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,8 @@ +2004-10-08 Han-Wen Nienhuys <hanwen@xs4all.nl> + + * inline.h (scm_double_cell): abort if GC running. + (scm_cell): idem. + 2004-10-04 Marius Vollmer <marius.vollmer@uni-dortmund.de> * error.c (scm_wrong_type_arg): Do not talk about "argument" for diff --git a/libguile/error.c b/libguile/error.c index d67e74d1a..28b5bc150 100644 --- a/libguile/error.c +++ b/libguile/error.c @@ -47,7 +47,6 @@ #endif - /* {Errors and Exceptional Conditions} */ diff --git a/libguile/inline.h b/libguile/inline.h index 19cd2ba54..d3ba8dfe5 100644 --- a/libguile/inline.h +++ b/libguile/inline.h @@ -63,6 +63,11 @@ SCM_C_INLINE SCM scm_cell (scm_t_bits car, scm_t_bits cdr) { + if (scm_gc_running_p) + { + abort(); + } + SCM z; /* We retrieve the SCM pointer only once since the call to SCM_FREELIST_LOC will be slightly expensive when we support @@ -161,6 +166,11 @@ SCM scm_double_cell (scm_t_bits car, scm_t_bits cbr, scm_t_bits ccr, scm_t_bits cdr) { + if (scm_gc_running_p) + { + abort(); + } + SCM z; SCM *freelist = SCM_FREELIST_LOC (scm_i_freelist2); |