• Bug#265981: [Sbcl-devel] Re: Bug#265981: sbcl: waitqueues notified on g

    From Kevin Rosenberg@1:229/2 to [email protected] on Mon Aug 16 18:00:18 2004
    From: [email protected]

    Thanks very much for the helpful hints -- appreciated!

    Kevin

    [email protected] wrote:
    On Sun, Aug 15, 2004 at 10:20:00PM -0600, Kevin Rosenberg wrote:
    A threads/gc report from a Debian user...

    (use-package :sb-thread)

    (let* ((lock (make-mutex))
    (queue (make-waitqueue :lock lock)))
    (loop
    (make-thread (lambda ()
    (condition-wait queue lock)
    (print "shouldn't get here")))
    (gc)
    (sleep 1)))

    (a) you must be /holding/ the lock to call condition-wait. I don't see
    a call to get-mutex or with-mutex here

    (b) you may be awoken from a condition-wait at times other than when
    the circumstances obtain that your thread can continue running. When
    you're woken you need to test that you were woken for the right reason

    http://www-jcsu.jesus.cam.ac.uk/~csr21/papers/lightning/lightning.html#htoc1 may be helpful


    -dan


    --
    To UNSUBSCRIBE, email to [email protected]
    with a subject of "unsubscribe". Trouble? Contact [email protected]

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)