git.annexia.org
/
goals.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tests: Add test of the wildcard function.
[goals.git]
/
src
/
jobs.ml
diff --git
a/src/jobs.ml
b/src/jobs.ml
index
085d466
..
2e8735e
100644
(file)
--- a/
src/jobs.ml
+++ b/
src/jobs.ml
@@
-52,13
+52,7
@@
let run next_job retire_job string_of_job =
let rec loop () =
if !last_exn = None then (
match next_job () with
let rec loop () =
if !last_exn = None then (
match next_job () with
- | Complete ->
- if !running > 0 then (
- Cmdline.debug "%d/%d threads running, waiting for completion"
- !running (Cmdline.nr_jobs ());
- Condition.wait cond lock;
- loop ()
- )
+ | Complete -> ()
| Not_ready ->
assert (!running > 0);
Cmdline.debug "%d/%d threads running, waiting for dependencies"
| Not_ready ->
assert (!running > 0);
Cmdline.debug "%d/%d threads running, waiting for dependencies"
@@
-80,6
+74,14
@@
let run next_job retire_job string_of_job =
in
Mutex.lock lock;
loop ();
in
Mutex.lock lock;
loop ();
+
+ (* Wait for all jobs to complete. *)
+ while !running > 0 do
+ Cmdline.debug "%d/%d threads running, waiting for completion"
+ !running (Cmdline.nr_jobs ());
+ Condition.wait cond lock
+ done;
+
let exn = !last_exn in
Mutex.unlock lock;
let exn = !last_exn in
Mutex.unlock lock;