diff options
Diffstat (limited to 'libguile/_scm.h')
-rw-r--r-- | libguile/_scm.h | 21 |
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 |