summaryrefslogtreecommitdiff
path: root/doc/ref/scheme-scheduling.texi
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2004-01-04 23:45:11 +0000
committerMarius Vollmer <mvo@zagadka.de>2004-01-04 23:45:11 +0000
commitfb89fef7fb8d28be9100c87c8c0408a7eec28993 (patch)
tree69965624576d5a0bacc6cc69abc9bd4f13e984fb /doc/ref/scheme-scheduling.texi
parentc76ff57bff40984e0bb76fe34b3e32488c6f428a (diff)
downloadguile-fb89fef7fb8d28be9100c87c8c0408a7eec28993.tar.gz
Document scm_with_[un]blocked_asyncs.
Diffstat (limited to 'doc/ref/scheme-scheduling.texi')
-rw-r--r--doc/ref/scheme-scheduling.texi19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/ref/scheme-scheduling.texi b/doc/ref/scheme-scheduling.texi
index b25dabd57..c9b4a029a 100644
--- a/doc/ref/scheme-scheduling.texi
+++ b/doc/ref/scheme-scheduling.texi
@@ -101,6 +101,12 @@ temporarily decrease the blocking level of the current thread. You
can use it when you want to disable asyncs by default and only allow
them temporarily.
+In addition to the C versions of @code{call-with-blocked-asyncs} and
+@code{call-with-unblocked-asyncs}, C code can use
+@code{scm_with_blocked_asyncs} and @code{scm_with_unblocked_asyncs}
+inside a @dfn{frame} (@pxref{Frames}) to block or unblock system asyncs
+temporarily.
+
@deffn {Scheme Procedure} system-async-mark proc [thread]
@deffnx {C Function} scm_system_async_mark (proc)
@deffnx {C Function} scm_system_async_mark_for_thread (proc, thread)
@@ -141,6 +147,19 @@ returned by @var{proc}. For the first two variants, call @var{proc}
with no arguments; for the third, call it with @var{data}.
@end deffn
+@deftypefn {C Function} void scm_with_blocked_asyncs ()
+This function must be used inside a pair of calls to
+@code{scm_begin_frame} and @code{scm_end_frame} (@pxref{Frames}).
+During the dynamic extent of the frame, asyncs are blocked by one level.
+@end deftypefn
+
+@deftypefn {C Function} void scm_with_unblocked_asyncs ()
+This function must be used inside a pair of calls to
+@code{scm_begin_frame} and @code{scm_end_frame} (@pxref{Frames}).
+During the dynamic extent of the frame, asyncs are unblocked by one
+level.
+@end deftypefn
+
@node User asyncs
@subsection User asyncs