summaryrefslogtreecommitdiff
path: root/libguile/_scm.h
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/_scm.h')
-rw-r--r--libguile/_scm.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/libguile/_scm.h b/libguile/_scm.h
index d685f9736..255c5e392 100644
--- a/libguile/_scm.h
+++ b/libguile/_scm.h
@@ -225,6 +225,27 @@ void scm_ia64_longjmp (scm_i_jmp_buf *, int);
+#define SCM_ASYNC_TICK \
+ do \
+ { \
+ if (SCM_UNLIKELY (SCM_I_CURRENT_THREAD->pending_asyncs)) \
+ scm_async_tick (); \
+ } \
+ while (0)
+
+#define SCM_ASYNC_TICK_WITH_CODE(thr, stmt) \
+ do \
+ { \
+ if (SCM_UNLIKELY (thr->pending_asyncs)) \
+ { \
+ stmt; \
+ scm_async_tick (); \
+ } \
+ } \
+ while (0)
+
+
+
/* The endianness marker in objcode. */
#ifdef WORDS_BIGENDIAN