aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix-data-service/utils.scm9
1 files changed, 9 insertions, 0 deletions
diff --git a/guix-data-service/utils.scm b/guix-data-service/utils.scm
index 25624e4..fda40b3 100644
--- a/guix-data-service/utils.scm
+++ b/guix-data-service/utils.scm
@@ -52,6 +52,7 @@
with-resource-from-pool
resource-pool-stats
+ call-with-default-io-waiters
make-worker-thread-channel
%worker-thread-default-timeout
call-with-worker-thread
@@ -497,6 +498,14 @@ available. Return the resource once PROC has returned."
(raise-exception
(make-resource-pool-timeout-error))))))
+(define (call-with-default-io-waiters thunk)
+ (parameterize
+ ((current-read-waiter (@@ (ice-9 suspendable-ports)
+ default-read-waiter))
+ (current-write-waiter (@@ (ice-9 suspendable-ports)
+ default-write-waiter)))
+ (thunk)))
+
(define %worker-thread-args
(make-parameter #f))