0.9.18.21:
authorJuho Snellman <jsnell@iki.fi>
Thu, 2 Nov 2006 11:17:56 +0000 (11:17 +0000)
committerJuho Snellman <jsnell@iki.fi>
Thu, 2 Nov 2006 11:17:56 +0000 (11:17 +0000)
commit35bfc07cbd9aa8029e9cc42f1a3fab27f1a673f4
tree6bb0f5213a9357e06dc39a64bd41ab091b2b94d1
parent90a83478829f33b91f6300c183b374a968bc13c6
0.9.18.21:
        Fix DEFUN-CACHED thread/interrupt-safety issues. It was
        possible for FOO-CACHE-ENTER to modify a region in the cache
        vector while FOO-CACHE-LOOKUP had only partially read it.

        * Instead of storing all the data in one vector, the main
          cache vector will only contain references to bucket vectors,
          which contain the real data. FOO-CACHE-ENTER will always
          allocate a new bucket, old buckets are never modified. Thus
          FOO-CACHE-LOOKUP consistently sees either a pre- or post-
          FOO-CACHE-ENTRY state.
NEWS
src/code/early-extensions.lisp
tests/threads.impure.lisp
tests/timer.impure.lisp
version.lisp-expr