diff options
author | Christopher Baines <mail@cbaines.net> | 2023-12-06 14:50:44 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-12-06 14:50:44 +0000 |
commit | 89f2b96b796d39857e0ef9849ef4224d572acb27 (patch) | |
tree | 6c0e5211bd72fe84f577e9390d23f229d049784b | |
parent | a4fcfade7f55863b133447b33e407d9da79e0e1b (diff) | |
download | build-coordinator-89f2b96b796d39857e0ef9849ef4224d572acb27.tar build-coordinator-89f2b96b796d39857e0ef9849ef4224d572acb27.tar.gz |
Re-fetch running jobs in the thread pool
As the information might be stale when wait-condition-variable returns.
-rw-r--r-- | guix-build-coordinator/utils.scm | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/guix-build-coordinator/utils.scm b/guix-build-coordinator/utils.scm index 84b4833..9d2e75a 100644 --- a/guix-build-coordinator/utils.scm +++ b/guix-build-coordinator/utils.scm @@ -1134,16 +1134,14 @@ References: ~a~%" (if (too-many-threads?) (stop-thread) - (let* ((running-jobs - (list-jobs)) - (job-args - (or (get-job running-jobs) - ;; #f from wait-condition-variable indicates a timeout - (if (wait-condition-variable - job-available - pool-mutex) - (get-job running-jobs) - #f)))) + (let ((job-args + (or (get-job (list-jobs)) + ;; #f from wait-condition-variable indicates a timeout + (if (wait-condition-variable + job-available + pool-mutex) + (get-job (list-jobs)) + #f)))) (if job-args (begin (hash-set! running-job-args |