1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

srfi-18: Use `match' in thread-start!.

* module/srfi/srfi-18.scm (thread-start!): Use `match'.
This commit is contained in:
Andy Wingo 2016-10-30 21:43:08 +01:00
parent 501c0e67b1
commit 4d23c835c4

View file

@ -32,6 +32,7 @@
(define-module (srfi srfi-18)
#:use-module ((ice-9 threads) #:prefix threads:)
#:use-module (ice-9 match)
#:use-module (srfi srfi-34)
#:export (;; Threads
make-thread
@ -210,15 +211,15 @@
*unspecified*)
(define (thread-start! thread)
(let ((x (hashq-ref thread-start-conds
(check-arg-type threads:thread? thread "thread-start!"))))
(and x (let ((smutex (car x))
(scond (cdr x)))
(match (hashq-ref thread-start-conds
(check-arg-type threads:thread? thread "thread-start!"))
((smutex . scond)
(hashq-remove! thread-start-conds thread)
(threads:lock-mutex smutex)
(threads:signal-condition-variable scond)
(threads:unlock-mutex smutex)))
thread))
(threads:unlock-mutex smutex))
(#f #f))
thread)
(define (thread-yield!) (threads:yield) *unspecified*)