0.8.4.1
Merge most of atropos-branch: miscellaneous (mostly threading)
fixes that were probably a little too risky for late in 0.8.4
development.
doc/ - fix up some of the sgml errors that sourceforge keeps
mailing me about
New function release-spinlock that only changes the lock value
if we owned the spinlock, so good for unwind-protect cleanups
when lock acquisition failed
get-spinlock release-spinlock current-thread-id could all win
from being inlinable
Use a RT signal (SIG_DEQUEUE) for resuming threads that were
on queues, instead of having SIGCONT do both this and the
resume-after-gc task.
Scattered commentary describing the state of the signal mask
in various interesting places
In gencgc alloc, only install a deferred handler for GC if
there was no previous handler for anything else. This fixes
a longstanding bug where the GC thread would eat all cpu while
waiting indefinitely for othr threads to stop.
Add SIG_STOP_FOR_GC to the blockable list
interrupt_maybe_gc_int: enable signals before calling SUB-GC,
or the locking that sub-gc does is going to interact badly.
Minor rearrangement to parent thread to stop it having to wake
up on every GC
Add grovel_headers line for SIG-DEQUEUE. OAOOM alert...
15 files changed: