[slime-devel] Daily ChangeLog diff
nikodemus at random-state.net
Sun May 13 19:58:17 UTC 2012
On 13 May 2012 19:58, Helmut Eller <heller at common-lisp.net> wrote:
> What should not be used: WITH-DEADLINE or WITH-WORLD-LOCK? Obviously
WITH-DEADLINE should be used, IMO. I don't quite follow what you
consider to be the problem with it.
The reason grabbing WITH-WORLD-LOCK is bad is because doing that
creates new places where things can deadlock.
When we finally get rid of the world lock around (or hack CLOS
dispatch to use evaluated functions when the compiler is taken), every
single place where world lock is grabbed is still a potential
deadlock: world lock is bad (like any other huge lock) not just
because it kilsl parallelism, but because reasoning about lock
ordering becomes essentially impossible. If a system has one lock lock
big enough that arbitrary code can run inside means that's bad but ...
survivable. If there are two or more such locks, then those locks
can't really have a proper ordering between them, and you get
The second reason WITH-WORLD-LOCK is bad is that I'm trying get rid of
it by breaking it up into smaller locks. So swank-sbcl.lisp will need
more #+magic -- not terrible, but not ideal either.
More information about the slime-devel