summaryrefslogtreecommitdiff
path: root/libguile/async.h
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1998-01-30 21:06:16 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1998-01-30 21:06:16 +0000
commitc72cc5fbe440b7806099b41b32b8b8729798a6f2 (patch)
tree0a482a769a25fc85454fe5d7d5938b0d0353bab0 /libguile/async.h
parent13dc0cae2fab2f8295aa6b6e831795b1e5e377f0 (diff)
downloadguile-c72cc5fbe440b7806099b41b32b8b8729798a6f2.tar.gz
* __scm.h (SCM_ASYNC_TICK): Removed thread switching code.
(SCM_ALLOW_INTS): Added thread switching code before interrupts get re-enabled. The important effect of this is that interrupts are blocked during thread switching so that thread data structures don't risk getting messed up by an unfortunate signal. (SCM_REDEFER_INTS, SCM_REALLOW_INTS): It turned out that gcc-2.8.0 seems to do more aggressive optimization which actually move instructions around in these macros in a fatal way. Therefore: Introduce Anthony's SCM_FENCE macro! (And I who thought he was just superstitious...) (SCM_TICK): Maybe do a context switch and take care of asyncs. This macro should be used instead of SCM_ASYNC_TICK since the latter doesn't do context switches any more.
Diffstat (limited to 'libguile/async.h')
0 files changed, 0 insertions, 0 deletions