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