Subject: Re: bug#22767: Thread-sleep! doesn't sleep

From: Andy Wingo <[email-masked]>
Date: Sun, 07 Aug 2016 23:32:26 +0200

Hi Takashi,

Thank you for the report.

On Mon 22 Feb 2016 12:37, Takashi Kato <[email-masked]> writes:

> I think I've found a bug of thread-sleep! defined in SRFI-18 library.
> The file module/srfi/srfi-18.scm line 233 subtract current time from
> given timeout argument but this results negative number most of the
> case. I think this line should simply return timeout as it is.

You are right.  Guile's documentation indicates that the timeout is an
absolute time as a SRFI-18 time object, but the SRFI itself says that
timeouts are either:

   * a time object represents an absolute point in time

   * an exact or inexact real number represents a relative time in
     seconds from the moment the primitive was called

So I guess when passed a number, that's not to be interpreted as an
absolute time from the epoch, but rather a relative timeout.  We need to
update our documentation and tests, it seems, and issue a prominent NEWS
entry...

Andy