1.0.6.38: thread and interrupt safe ADD/REMOVE-METHOD
commit617d4fa1db5a4a11564e7c59bfb684c7eb25633d
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 8 Jun 2007 20:38:21 +0000 (8 20:38 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 8 Jun 2007 20:38:21 +0000 (8 20:38 +0000)
tree02e20c7cce2dd63b802bff1b410f0cc4ed8b2df2
parentd8659f1e656234e8f0f47d5295b503dd6cff4aba
1.0.6.38: thread and interrupt safe ADD/REMOVE-METHOD

 * ADD/REMOVE-METHOD need to grab the GF lock and disable interrupts.

 * ADD/REMOVE-DIRECT-METHOD, and SPECIALIZER-DIRECT-GENERIC-FUNCTIONS
   need a lock as well, but instead of adding per-specializer lock
   just use one global one: contention should be minimal here.

 * INTERN-EQL-SPECIALIZER needs a lock.

 * Fix non-threaded build.

 * Delete dead NAME variables from ADD/REMOVE-METHOD.

 * Tests.
NEWS
src/code/fd-stream.lisp
src/code/thread.lisp
src/code/timer.lisp
src/pcl/defs.lisp
src/pcl/methods.lisp
src/pcl/std-class.lisp
tests/clos-cache.impure.lisp
version.lisp-expr