reference: cite Concurrent ML
This commit is contained in:
parent
45b0aa21d1
commit
fd2ffe3170
|
@ -15,7 +15,7 @@ A @deftech{synchronizable event} (or just @defterm{event} for short)
|
|||
works with the @racket[sync] procedure to coordinate synchronization
|
||||
among threads. Certain kinds of objects double as events, including
|
||||
ports and threads. Other kinds of objects exist only for their use as
|
||||
events.
|
||||
events. Racket's event system is based on Concurrent ML @cite{Reppy99}.
|
||||
|
||||
At any point in time, an event is either @deftech{ready for
|
||||
synchronization}, or it is not; depending on the kind of event and how
|
||||
|
|
|
@ -186,6 +186,13 @@ The @racketmodname[racket] library combines
|
|||
#:location "Principles of Programming Languages"
|
||||
#:date "1991")
|
||||
|
||||
(bib-entry #:key "Reppy99"
|
||||
#:author "John H. Reppy"
|
||||
#:title "Concurrent Programming in ML"
|
||||
#:is-book? #t
|
||||
#:location "Cambridge University Press"
|
||||
#:date "1999")
|
||||
|
||||
(bib-entry #:key "Shan04"
|
||||
#:author "Ken Shan"
|
||||
#:title "Shift to Control"
|
||||
|
|
|
@ -68,7 +68,9 @@
|
|||
(alarm-evt (+ timeout (current-inexact-milliseconds))))
|
||||
(lambda (x)
|
||||
(log "alarm woke up, waiting to suspend engine" w)
|
||||
(log-error "TRYING TIMEOUT")
|
||||
(semaphore-wait can-stop-lock)
|
||||
(log-error "DOING TIMEOUT")
|
||||
(log "suspending engine" w)
|
||||
(thread-suspend worker)
|
||||
(semaphore-post can-stop-lock)
|
||||
|
|
Loading…
Reference in New Issue
Block a user