aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2025-02-10 12:30:54 +0000
committerChristopher Baines <mail@cbaines.net>2025-02-10 12:30:54 +0000
commit1bf3195c881dfb10583e1bceb2c1657382deee8f (patch)
tree71e7af78c7ac9fa34171f679faa1943c4f608491
parentf5f50341ae37b98fb7ffbbf77873da921cbd6d1d (diff)
downloadbuild-coordinator-1bf3195c881dfb10583e1bceb2c1657382deee8f.tar
build-coordinator-1bf3195c881dfb10583e1bceb2c1657382deee8f.tar.gz
Ensure build-coordinator-prompt-hook-processing-for-event works in threads
-rw-r--r--guix-build-coordinator/coordinator.scm4
-rw-r--r--guix-build-coordinator/utils/fibers.scm6
2 files changed, 7 insertions, 3 deletions
diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm
index 4086621..1b6c365 100644
--- a/guix-build-coordinator/coordinator.scm
+++ b/guix-build-coordinator/coordinator.scm
@@ -1046,7 +1046,9 @@
((condition-variable? condvar)
(signal-condition-variable condvar))
((reusable-condition? condvar)
- (signal-reusable-condition! condvar))
+ (signal-reusable-condition!
+ condvar
+ (build-coordinator-scheduler build-coordinator)))
(else
(error
(simple-format #f "unrecognised condvar ~A"
diff --git a/guix-build-coordinator/utils/fibers.scm b/guix-build-coordinator/utils/fibers.scm
index 776c470..410b394 100644
--- a/guix-build-coordinator/utils/fibers.scm
+++ b/guix-build-coordinator/utils/fibers.scm
@@ -114,7 +114,8 @@
(%make-reusable-condition (make-atomic-box #f)
(make-channel)))
-(define (signal-reusable-condition! reusable-condition)
+(define* (signal-reusable-condition! reusable-condition
+ #:optional (scheduler (current-scheduler)))
(match (atomic-box-compare-and-swap!
(reusable-condition-atomic-box reusable-condition)
#f
@@ -123,7 +124,8 @@
(spawn-fiber
(lambda ()
(put-message (reusable-condition-channel reusable-condition)
- #t)))
+ #t))
+ scheduler)
#t)
(#t #f)))