diff options
-rw-r--r-- | libguile/dynwind.c | 6 | ||||
-rw-r--r-- | libguile/dynwind.h | 2 |
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*/ |