aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-02-09 17:20:54 +0000
committerChristopher Baines <mail@cbaines.net>2022-02-09 17:20:54 +0000
commit4a1088c21687531de0b4e062e1bf9ec491e5d4da (patch)
tree77a1a9ca88ea751033645cfc44f1d5fe1ee8b28d
parent8ed53099ba75a4e5e1eb027623251bbc7b6674cf (diff)
downloaddata-service-4a1088c21687531de0b4e062e1bf9ec491e5d4da.tar
data-service-4a1088c21687531de0b4e062e1bf9ec491e5d4da.tar.gz
Switch to guile-fibers@1.1
I think the main change required is just to stop accessing the now missing current-fiber parameter.
-rw-r--r--guix-data-service/utils.scm65
-rw-r--r--guix-dev.scm2
2 files changed, 33 insertions, 34 deletions
diff --git a/guix-data-service/utils.scm b/guix-data-service/utils.scm
index 0250e42..ed13ef4 100644
--- a/guix-data-service/utils.scm
+++ b/guix-data-service/utils.scm
@@ -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)
diff --git a/guix-dev.scm b/guix-dev.scm
index 436140d..394b873 100644
--- a/guix-dev.scm
+++ b/guix-dev.scm
@@ -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)