aboutsummaryrefslogtreecommitdiff
path: root/guix-qa-frontpage/utils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-qa-frontpage/utils.scm')
-rw-r--r--guix-qa-frontpage/utils.scm38
1 files changed, 1 insertions, 37 deletions
diff --git a/guix-qa-frontpage/utils.scm b/guix-qa-frontpage/utils.scm
index 8009b59..63b741c 100644
--- a/guix-qa-frontpage/utils.scm
+++ b/guix-qa-frontpage/utils.scm
@@ -25,45 +25,9 @@
#:use-module (fibers channels)
#:use-module (knots)
#:use-module (zlib)
- #:export (fiberize
- non-blocking
+ #:export (non-blocking
call-with-zlib-input-port*))
-(define* (fiberize proc #:key (parallelism 1))
- (let ((channel (make-channel)))
- (for-each
- (lambda _
- (spawn-fiber
- (lambda ()
- (while #t
- (let ((reply-channel args (car+cdr
- (get-message channel))))
- (put-message
- reply-channel
- (with-exception-handler
- (lambda (exn)
- (cons 'exception exn))
- (lambda ()
- (with-throw-handler #t
- (lambda ()
- (call-with-values
- (lambda ()
- (apply proc args))
- (lambda vals
- (cons 'result vals))))
- (lambda _
- (backtrace))))
- #:unwind? #t)))))
- #:parallel? #t))
- (iota parallelism))
-
- (lambda args
- (let ((reply-channel (make-channel)))
- (put-message channel (cons reply-channel args))
- (match (get-message reply-channel)
- (('result . vals) (apply values vals))
- (('exception . exn) (raise-exception exn)))))))
-
(define (non-blocking thunk)
(let ((channel (make-channel)))
(call-with-default-io-waiters