diff options
-rw-r--r-- | libguile/ChangeLog | 36 | ||||
-rw-r--r-- | libguile/deprecated.c | 1 | ||||
-rw-r--r-- | libguile/goops.c | 1 | ||||
-rw-r--r-- | libguile/guardians.c | 1 | ||||
-rw-r--r-- | libguile/keywords.c | 1 | ||||
-rw-r--r-- | libguile/objprop.c | 1 | ||||
-rw-r--r-- | libguile/ports.c | 1 | ||||
-rw-r--r-- | libguile/smob.c | 1 | ||||
-rw-r--r-- | libguile/srcprop.c | 1 | ||||
-rw-r--r-- | libguile/stime.c | 1 | ||||
-rw-r--r-- | libguile/struct.c | 1 |
11 files changed, 46 insertions, 0 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog index d7b5836a9..f6fa2cdef 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,39 @@ +2005-03-07 Marius Vollmer <mvo@zagadka.de> + + * threads.h, async.h, threads.c (SCM_CRITICAL_SECTION_START, + SCM_CRITICAL_SECTION_END): Moved here from threads.h since now + they also block/unblock execution of asyncs and call + scm_async_click which is declared in async.h but threads.h can not + include async.h since async.h already includes threads.h. + (scm_i_critical_section_level): New, for checking mistakes in the + use of the SCM_CRITICAL_SECTION_* macros. + (scm_i_critical_section_mutex): Make it a recursive mutex so that + critical sections can be nested. + + * throw.c (scm_ithrow): Abort when scm_i_critical_section_level is + not zero. + + * threads.h, threads.c (scm_frame_lock_mutex): New. + (scm_frame_critical_section): Take mutex as argument. + (framed_critical_section_mutex): New, used as default for above. + (scm_init_threads): Initialize it. + (scm_threads_prehistory): Do not initialize thread_admin_mutex and + scm_i_critical_section_mutex; both are initialized statically. + + * continuation.c, deprecated.c, goops.c, guardians.c keywords.c, + libguile_la-arrays.loT, objprop.c, ports.c, smob.c, sort.s, + srcprop.c, stime.c, struct.c, throw.c: Include "libguile/async.h" + for SCM_CRITICAL_SECTION_START/END. + + * debug.c (scm_debug_options): Replace + SCM_CRITICAL_SECTION_START/END with a frame and + scm_frame_critical_section. + + * continuations.c (scm_make_continuation): No longer a critical + section. + (scm_dynthrow): Abort when scm_i_critical_section_level is + not zero. + 2005-03-04 Marius Vollmer <marius.vollmer@uni-dortmund.de> * threads.c (scm_try_mutex): Renamed argument for consistency. diff --git a/libguile/deprecated.c b/libguile/deprecated.c index 685fa2cf1..1ada46e78 100644 --- a/libguile/deprecated.c +++ b/libguile/deprecated.c @@ -20,6 +20,7 @@ */ #include "libguile/_scm.h" +#include "libguile/async.h" #include "libguile/deprecated.h" #include "libguile/discouraged.h" #include "libguile/deprecation.h" diff --git a/libguile/goops.c b/libguile/goops.c index b1aa22176..86d486abc 100644 --- a/libguile/goops.c +++ b/libguile/goops.c @@ -28,6 +28,7 @@ #include "libguile/_scm.h" #include "libguile/alist.h" +#include "libguile/async.h" #include "libguile/chars.h" #include "libguile/debug.h" #include "libguile/dynl.h" diff --git a/libguile/guardians.c b/libguile/guardians.c index 4d4f5a140..5ea384903 100644 --- a/libguile/guardians.c +++ b/libguile/guardians.c @@ -35,6 +35,7 @@ #include "libguile/_scm.h" +#include "libguile/async.h" #include "libguile/ports.h" #include "libguile/print.h" #include "libguile/smob.h" diff --git a/libguile/keywords.c b/libguile/keywords.c index f6b570348..17da78c82 100644 --- a/libguile/keywords.c +++ b/libguile/keywords.c @@ -21,6 +21,7 @@ #include <string.h> #include "libguile/_scm.h" +#include "libguile/async.h" #include "libguile/ports.h" #include "libguile/root.h" #include "libguile/smob.h" diff --git a/libguile/objprop.c b/libguile/objprop.c index 55f4b7fb8..7135e2cf1 100644 --- a/libguile/objprop.c +++ b/libguile/objprop.c @@ -19,6 +19,7 @@ #include "libguile/_scm.h" +#include "libguile/async.h" #include "libguile/hashtab.h" #include "libguile/alist.h" #include "libguile/root.h" diff --git a/libguile/ports.c b/libguile/ports.c index 5fe2e0763..94182bfc0 100644 --- a/libguile/ports.c +++ b/libguile/ports.c @@ -27,6 +27,7 @@ #include <errno.h> #include "libguile/_scm.h" +#include "libguile/async.h" #include "libguile/eval.h" #include "libguile/objects.h" #include "libguile/goops.h" diff --git a/libguile/smob.c b/libguile/smob.c index 8ad641992..ce0b6488e 100644 --- a/libguile/smob.c +++ b/libguile/smob.c @@ -26,6 +26,7 @@ #include "libguile/_scm.h" +#include "libguile/async.h" #include "libguile/objects.h" #include "libguile/goops.h" #include "libguile/ports.h" diff --git a/libguile/srcprop.c b/libguile/srcprop.c index 1aed54d41..a0847c891 100644 --- a/libguile/srcprop.c +++ b/libguile/srcprop.c @@ -21,6 +21,7 @@ #include <errno.h> #include "libguile/_scm.h" +#include "libguile/async.h" #include "libguile/smob.h" #include "libguile/alist.h" #include "libguile/debug.h" diff --git a/libguile/stime.c b/libguile/stime.c index b44b2d0cb..fcd02f46f 100644 --- a/libguile/stime.c +++ b/libguile/stime.c @@ -44,6 +44,7 @@ #include <errno.h> #include "libguile/_scm.h" +#include "libguile/async.h" #include "libguile/feature.h" #include "libguile/strings.h" #include "libguile/vectors.h" diff --git a/libguile/struct.c b/libguile/struct.c index f54a77c38..b7635a319 100644 --- a/libguile/struct.c +++ b/libguile/struct.c @@ -21,6 +21,7 @@ #endif #include "libguile/_scm.h" +#include "libguile/async.h" #include "libguile/chars.h" #include "libguile/eval.h" #include "libguile/alist.h" |