summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2004-08-10 13:35:28 +0000
committerMarius Vollmer <mvo@zagadka.de>2004-08-10 13:35:28 +0000
commit6d5649b7b8a365455f881fdf2b44fcbc02708e1f (patch)
tree9f8b76c9bf2fcacebee2dffd798bcf99528c7389
parent3b9ee0a4f8515e9a5f0781d0f8c46ea82cb1d6dd (diff)
downloadguile-6d5649b7b8a365455f881fdf2b44fcbc02708e1f.tar.gz
(scm_frame_free): New.
-rw-r--r--libguile/dynwind.c6
-rw-r--r--libguile/dynwind.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/libguile/dynwind.c b/libguile/dynwind.c
index e8059be27..299842912 100644
--- a/libguile/dynwind.c
+++ b/libguile/dynwind.c
@@ -234,6 +234,12 @@ scm_frame_rewind_handler_with_scm (void (*proc) (SCM), SCM data,
proc (data);
}
+void
+scm_frame_free (void *mem)
+{
+ scm_frame_unwind_handler (free, mem, SCM_F_WIND_EXPLICITLY);
+}
+
#ifdef GUILE_DEBUG
SCM_DEFINE (scm_wind_chain, "wind-chain", 0, 0, 0,
(),
diff --git a/libguile/dynwind.h b/libguile/dynwind.h
index ce68bcd64..9aab34881 100644
--- a/libguile/dynwind.h
+++ b/libguile/dynwind.h
@@ -63,6 +63,8 @@ SCM_API void scm_frame_unwind_handler_with_scm (void (*func) (SCM), SCM data,
SCM_API void scm_frame_rewind_handler_with_scm (void (*func) (SCM), SCM data,
scm_t_wind_flags);
+SCM_API void scm_frame_free (void *mem);
+
#ifdef GUILE_DEBUG
SCM_API SCM scm_wind_chain (void);
#endif /*GUILE_DEBUG*/