aboutsummaryrefslogtreecommitdiff
path: root/guix-qa-frontpage/git-repository.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-10-16 12:02:47 +0100
committerChristopher Baines <mail@cbaines.net>2023-10-16 12:02:47 +0100
commit750c92ab8ac4b3458e63bee150c124c391248a8f (patch)
tree2ee3e36acb1985033f6012d1be6500c67917b00a /guix-qa-frontpage/git-repository.scm
parent78b4a068e8f99a9f830f17c5b5d9a29d47c08ee3 (diff)
downloadqa-frontpage-750c92ab8ac4b3458e63bee150c124c391248a8f.tar
qa-frontpage-750c92ab8ac4b3458e63bee150c124c391248a8f.tar.gz
Guard against using monitor inside fibers
Diffstat (limited to 'guix-qa-frontpage/git-repository.scm')
-rw-r--r--guix-qa-frontpage/git-repository.scm7
1 files changed, 7 insertions, 0 deletions
diff --git a/guix-qa-frontpage/git-repository.scm b/guix-qa-frontpage/git-repository.scm
index dc8d7f2..a0b4eca 100644
--- a/guix-qa-frontpage/git-repository.scm
+++ b/guix-qa-frontpage/git-repository.scm
@@ -5,6 +5,7 @@
#:use-module (ice-9 rdelim)
#:use-module (ice-9 threads)
#:use-module (ice-9 exceptions)
+ #:use-module (fibers scheduler)
#:use-module (git)
#:use-module (git rev-parse)
#:use-module (git object)
@@ -28,11 +29,17 @@
(make-parameter #f))
(define* (guix.git-excursion thunk #:optional dir)
+ (when (current-scheduler)
+ (error "guix.git-excursion can't be used from fibers"))
+
(monitor
(with-directory-excursion (or dir (%git-repository-location))
(thunk))))
(define (ensure-repository-exists!)
+ (when (current-scheduler)
+ (error "guix.git-excursion can't be used from fibers"))
+
(monitor
(unless (file-exists? (%git-repository-location))
(invoke "git" "init" "--bare"