diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-03-17 14:41:39 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-03-17 14:41:39 +0200 |
commit | b936faf3601ea2f1d89dbe3472f9f2e54eda97e7 (patch) | |
tree | a6effaca0ed189060db849152c0e0410e19e9643 | |
parent | 5a686c5460e9fbb32af5014d0dbf1169ea301ec2 (diff) |
Minor scheduler optimization
-rw-r--r-- | build2/scheduler.txx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/build2/scheduler.txx b/build2/scheduler.txx index 3410b6f..684409c 100644 --- a/build2/scheduler.txx +++ b/build2/scheduler.txx @@ -70,14 +70,15 @@ namespace build2 size_t om (m); m = task_queue_depth_; + ql.unlock (); + forward<F> (f) (forward<A> (a)...); // Should not throw. + + if (om != task_queue_depth_) { - ql.unlock (); - forward<F> (f) (forward<A> (a)...); // Should not throw. ql.lock (); + m = s == 0 ? t : om; } - m = s == 0 ? t : om; - return false; } } |