Subject: join-thread unusable if timeout was hit
From: angry rectangle <[email-masked]>
To: [email-masked]
Date: Tue, 10 May 2022 20:42:03 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

If join-thread is called after a previous call to join-thread hits the timeout, a "mutex already locked by thread" error is thrown.

Working example:

(use-modules (ice-9 threads))
(define t (call-with-new-thread
           (lambda _
             (let r ()
               (sleep 1)
               (r)))))
(join-thread t (current-time))
(join-thread t (current-time)) ;; exception here

my guile version: latest git. cc455976813ab94de121395982435430874cbf58
my OS: guix on amd64