From d7f2691a42457483027b0d9f21e3f282e37c6e0a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 1 Nov 2023 21:14:58 +0000 Subject: Use call-with-blocked-asyncs when calling call-with-zlib-input-port Since it uses dynamic-wind that's incompatible with fibers. --- guix-qa-frontpage/guix-data-service.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/guix-qa-frontpage/guix-data-service.scm b/guix-qa-frontpage/guix-data-service.scm index 7a01e7f..3565c27 100644 --- a/guix-qa-frontpage/guix-data-service.scm +++ b/guix-qa-frontpage/guix-data-service.scm @@ -143,10 +143,13 @@ (let ((json-body (match (response-content-encoding response) (('gzip) - (call-with-zlib-input-port - body - json->scm - #:format 'gzip)) + ;; Stop fibers from triggering dynamic-wind in (zlib) + (call-with-blocked-asyncs + (lambda () + (call-with-zlib-input-port + body + json->scm + #:format 'gzip)))) (_ (json->scm body))))) (if (or (> (response-code response) -- cgit v1.2.3