Switch to guile-fibers@1.1
I think the main change required is just to stop accessing the now missing current-fiber parameter.
This commit is contained in:
parent
8ed53099ba
commit
4a1088c216
|
@ -54,39 +54,38 @@
|
|||
|
||||
|
||||
(define* (make-thread-pool-channel #:key (threads 8))
|
||||
(parameterize (((@@ (fibers internal) current-fiber) #f))
|
||||
(let ((channel (make-channel)))
|
||||
(for-each
|
||||
(lambda _
|
||||
(call-with-new-thread
|
||||
(lambda ()
|
||||
(let loop ()
|
||||
(match (get-message channel)
|
||||
(((? channel? reply) . (? procedure? proc))
|
||||
(put-message
|
||||
reply
|
||||
(with-exception-handler
|
||||
(lambda (exn)
|
||||
(cons 'worker-thread-error exn))
|
||||
(lambda ()
|
||||
(with-exception-handler
|
||||
(lambda (exn)
|
||||
(simple-format
|
||||
(current-error-port)
|
||||
"worker thread: exception: ~A\n"
|
||||
exn)
|
||||
(backtrace)
|
||||
(raise-exception exn))
|
||||
(lambda ()
|
||||
(call-with-values
|
||||
proc
|
||||
(lambda vals
|
||||
vals)))))
|
||||
#:unwind? #t))
|
||||
(loop))
|
||||
(_ #f))))))
|
||||
(iota threads))
|
||||
channel)))
|
||||
(let ((channel (make-channel)))
|
||||
(for-each
|
||||
(lambda _
|
||||
(call-with-new-thread
|
||||
(lambda ()
|
||||
(let loop ()
|
||||
(match (get-message channel)
|
||||
(((? channel? reply) . (? procedure? proc))
|
||||
(put-message
|
||||
reply
|
||||
(with-exception-handler
|
||||
(lambda (exn)
|
||||
(cons 'worker-thread-error exn))
|
||||
(lambda ()
|
||||
(with-exception-handler
|
||||
(lambda (exn)
|
||||
(simple-format
|
||||
(current-error-port)
|
||||
"worker thread: exception: ~A\n"
|
||||
exn)
|
||||
(backtrace)
|
||||
(raise-exception exn))
|
||||
(lambda ()
|
||||
(call-with-values
|
||||
proc
|
||||
(lambda vals
|
||||
vals)))))
|
||||
#:unwind? #t))
|
||||
(loop))
|
||||
(_ #f))))))
|
||||
(iota threads))
|
||||
channel))
|
||||
|
||||
(define %thread-pool-mutex (make-mutex))
|
||||
(define %thread-pool-channel #f)
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
("guile-email" ,guile-email)
|
||||
("guile-json" ,guile-json-4)
|
||||
("guile-squee" ,guile-squee)
|
||||
("guile-fibers" ,guile-fibers)
|
||||
("guile-fibers" ,guile-fibers-1.1)
|
||||
("guile-gcrypt" ,guile-gcrypt)
|
||||
("guile-lzlib" ,guile-lzlib)
|
||||
("guile-readline" ,guile-readline)
|
||||
|
|
Loading…
Reference in New Issue