racket/collects/meta/drdr/sema.rkt
2011-06-28 02:01:41 -04:00

10 lines
243 B
Racket

#lang racket
(define (semaphore-wait* sema how-many)
(unless (zero? how-many)
(semaphore-wait sema)
(semaphore-wait* sema (sub1 how-many))))
(provide/contract
[semaphore-wait* (semaphore? exact-nonnegative-integer? . -> . void)])