diff options
author | Christopher Baines <mail@cbaines.net> | 2023-11-01 21:14:58 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-11-01 21:14:58 +0000 |
commit | d7f2691a42457483027b0d9f21e3f282e37c6e0a (patch) | |
tree | 95e1c2451e1b372d33020cf64b67aaa61f30d99f /guix-qa-frontpage | |
parent | 3b64124b86a9a9d97696cd777ae3d3eaff66b7df (diff) | |
download | qa-frontpage-d7f2691a42457483027b0d9f21e3f282e37c6e0a.tar qa-frontpage-d7f2691a42457483027b0d9f21e3f282e37c6e0a.tar.gz |
Use call-with-blocked-asyncs when calling call-with-zlib-input-port
Since it uses dynamic-wind that's incompatible with fibers.
Diffstat (limited to 'guix-qa-frontpage')
-rw-r--r-- | guix-qa-frontpage/guix-data-service.scm | 11 |
1 files 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) |