chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] Re: sqlite3 egg still failing in experimental branch


From: Thomas Chust
Subject: [Chicken-users] Re: sqlite3 egg still failing in experimental branch
Date: Sun, 16 Jan 2011 22:57:55 +0100

2011/1/16 Alan Post <address@hidden>:
> [...]
> I notice that you removed code adding |current-milliseconds|
> (presumably now |current-seconds|) to the timeout.  This was
> intentional?
> [...]

Hello Alan,

yes, this was intentional: The way I understand it, thread-sleep! can
either be passed a number, which is interpreted as a delay, or a time
record, which is interpreted as an absolute point in time. But adding
the current time to the delay would of course be wrong.

> [...]
>  I also notice that several division and multiplication operations
> in thread-sleep! weren't modified for fixnum--I though they could
> be; you understand the code better than I do.
> [...]

You're right, these can be fixnum arithmetic, too, if we assume that
the values that will be passed to the created timeout procedure as the
second argument are always going to be fixnums as well, which should
be true.

I have checked in the additional changes to the egg's trunk version.

> [...]
> There is one test failure I'm seeing:
>
>    -- testing statement management
> ------------------------------------------
>    basic lifecycle
> .................................................. [ERROR]
>
> Error: (finalize!) unable to close due to unfinalised statements:
> #<sqlite3:data base>
>    (with-database
>      (db ":memory:")
>      (let-values
>        (((stmt tail) (prepare db "SELECT 42; -- tail")))
>        (dynamic-wind
>          noop
>          (lambda ()
>            (let* ((s0 (step! stmt)) (s1 (step! stmt))) (list tail s0 s1)))
>          (lambda () (and-let* ((s stmt)) (set! stmt #f) (finalize! s))))))
>
> [...]

Hmm, I can't reproduce that test failure under CHICKEN 4.6.3. It's
also pretty strange since the statement obviously *is* finalized
explicitly by that code.

> [...]
> PS: Thank you!  Thank you!
> [...]

And thank you, too, for coming up with the patches in the first place
:-)

Ciao,
Thomas


-- 
When C++ is your hammer, every problem looks like your thumb.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]