- (let ((thread (sb-thread:make-thread
- (lambda ()
- (let ((start (get-internal-real-time)))
- (handler-case
- (sb-sys:with-deadline (:seconds 1)
- (sb-thread:get-mutex lock))
- (sb-sys:deadline-timeout (x)
- (declare (ignore x))
- (let ((end (get-internal-real-time)))
- (float (/ (- end start)
- internal-time-units-per-second)
- 0.0)))))))))
+ (let ((thread (make-join-thread
+ (lambda ()
+ (let ((start (get-internal-real-time)))
+ (handler-case
+ (sb-sys:with-deadline (:seconds 1)
+ (sb-thread:grab-mutex lock))
+ (sb-sys:deadline-timeout (x)
+ (declare (ignore x))
+ (let ((end (get-internal-real-time)))
+ (float (/ (- end start)
+ internal-time-units-per-second)
+ 0.0)))))))))