[slime-devel] Today's Daily ChangeLog diff

Nikodemus Siivola nikodemus at random-state.net
Mon May 7 05:24:51 UTC 2012

On 7 May 2012 00:22, Helmut Eller <heller at common-lisp.net> wrote:

> regression: I tried to use the :timeout argument of
> sb-thread:condition-wait that was added in version 1.0.54 or so.
> Obviously it doesn't work as I had expected; I'll restore the previous

Without digging deeper, it seems to me that there is an outer deadline from
another WITH-DEADLINE. In the old version you're using :OVERRIDE, which means
that even if you specify a longer wait, you get what you ask for.

In the new version the outer WITH-DEADLINE specifies a shorter wait
than the :TIMEOUT you request, and that happens -- and a
deadline-timeout is signalled, etc.

Using bleeding edge SBCL and

                        '(sb-sys:with-deadline (:seconds nil :override t)
                          (sb-thread:condition-wait waitqueue mutex
                           :timeout timeout)))

in the first leg, the tests pass after removing

                             nil  ; FIXME: :timeout doesn't work. Why?

...but since ability to specify :SECONDS NIL is very new, it's
probably best not to depend on that just now. Finding the outer source
of deadline is probably a better bet.


 -- Nikodemus

More information about the slime-devel mailing list