aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator
diff options
context:
space:
mode:
Diffstat (limited to 'guix-build-coordinator')
-rw-r--r--guix-build-coordinator/agent-messaging/http.scm4
-rw-r--r--guix-build-coordinator/agent.scm29
-rw-r--r--guix-build-coordinator/utils.scm10
3 files changed, 27 insertions, 16 deletions
diff --git a/guix-build-coordinator/agent-messaging/http.scm b/guix-build-coordinator/agent-messaging/http.scm
index 27e2419..1f2df0a 100644
--- a/guix-build-coordinator/agent-messaging/http.scm
+++ b/guix-build-coordinator/agent-messaging/http.scm
@@ -85,7 +85,9 @@
(string-drop agent-path 1))))))
(define (with-request-mutex thunk)
- (monitor (thunk)))
+ (if (running-on-the-hurd?)
+ (thunk)
+ (monitor (thunk))))
(define (default-log level . components)
(apply log-msg level components))
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm
index d970a24..ed2adb2 100644
--- a/guix-build-coordinator/agent.scm
+++ b/guix-build-coordinator/agent.scm
@@ -210,20 +210,21 @@
(process-job-with-queue job-args))
(vector->list (assoc-ref details "builds")))
- (call-with-new-thread
- (lambda ()
- (sigaction SIGUSR1
- (lambda _
- (display-info)))
-
- (while #t (sleep 100000))))
-
- (call-with-new-thread
- (lambda ()
- (let loop ((line (get-line (current-input-port))))
- (unless (eof-object? line)
- (display-info)
- (loop (get-line (current-input-port)))))))
+ (unless (running-on-the-hurd?)
+ (call-with-new-thread
+ (lambda ()
+ (sigaction SIGUSR1
+ (lambda _
+ (display-info)))
+
+ (while #t (sleep 100000))))
+
+ (call-with-new-thread
+ (lambda ()
+ (let loop ((line (get-line (current-input-port))))
+ (unless (eof-object? line)
+ (display-info)
+ (loop (get-line (current-input-port))))))))
(while #t
(let ((current-threads (count-threads))
diff --git a/guix-build-coordinator/utils.scm b/guix-build-coordinator/utils.scm
index 20cf007..e29be18 100644
--- a/guix-build-coordinator/utils.scm
+++ b/guix-build-coordinator/utils.scm
@@ -54,7 +54,9 @@
with-timeout
- get-load-average))
+ get-load-average
+
+ running-on-the-hurd?))
(eval-when (eval load compile)
(begin
@@ -803,3 +805,9 @@ again."
((= period 5) 5min)
((= period 15) 15min))))))
#f))
+
+(define (running-on-the-hurd?)
+ (let ((cached-system #f))
+ (unless cached-system
+ (set! cached-system (utsname:sysname (uname))))
+ (string=? cached-system "GNU")))