[slime-devel] Today's Daily ChangeLog diff

Gábor Melis mega at retes.hu
Thu May 10 07:21:45 UTC 2012

Helmut Eller <heller at common-lisp.net> writes:

> * Nikodemus Siivola [2012-05-10 06:14] writes:
>> On 7 May 2012 08:45, Helmut Eller <heller at common-lisp.net> wrote:
>>>> 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.
>>> Is WITH-DEADLINE part of the official API?  Seriously?
>> If you mean "am I really supposed to wrap WITH-DEADLINE around
>> CONDITION-WAIT calls", not generally.
> I meant more "is it possible to write reliable programs with such an
> API".
>> In this case however, something else, probably the :AROUND method on
>> STREAM-FORCE-OUTPUT, has provided a tighter deadline. In such case the
>> system obeys the global deadline. Sticking a longer deadline into
>> S-F-E :AROUND would achieve the same result from practical POV.
> Apparently not.

IMHO, the composition semantics of WITH-DEADLINE are an improvement over
WITH-TIMEOUT. It's certainly debatable whether the hack in
STREAM-FORCE-OUTPUT is in good style, but it's there for a reason. It's
hardly the fault of the API.

More information about the slime-devel mailing list