diff --git a/libguile/async.c b/libguile/async.c index b5c1f9e92..5d06c1f77 100644 --- a/libguile/async.c +++ b/libguile/async.c @@ -339,6 +339,11 @@ SCM_DEFINE (scm_system_async_mark, "system-async-mark", 1, 0, 0, } #undef FUNC_NAME +void +scm_system_async_mark_from_signal_handler (SCM a) +{ + SET_ASYNC_GOT_IT (a, scm_asyncs_pending_p = 1); +} SCM_DEFINE (scm_run_asyncs, "run-asyncs", 1, 0, 0, (SCM list_of_a), diff --git a/libguile/async.h b/libguile/async.h index 7cdb81cd1..e27cd2ccb 100644 --- a/libguile/async.h +++ b/libguile/async.h @@ -61,6 +61,7 @@ SCM_API SCM scm_async (SCM thunk); SCM_API SCM scm_system_async (SCM thunk); SCM_API SCM scm_async_mark (SCM a); SCM_API SCM scm_system_async_mark (SCM a); +SCM_API void scm_system_async_mark_from_signal_handler (SCM a); SCM_API SCM scm_run_asyncs (SCM list_of_a); SCM_API SCM scm_noop (SCM args); SCM_API SCM scm_set_tick_rate (SCM n);