aboutsummaryrefslogtreecommitdiffhomepage
path: root/stm
diff options
context:
space:
mode:
authorGravatar Maxime Dénès <mail@maximedenes.fr>2017-10-03 11:31:32 +0200
committerGravatar Maxime Dénès <mail@maximedenes.fr>2017-10-03 11:31:32 +0200
commit36c950f8a6f70b9b70aecc3e4a620b969ca6a0e0 (patch)
treec6701473127cb66f66ecc96157378f5dd8cbf8f3 /stm
parent2a7baab631b1dc8f4e1ef70838738c47ba0c389b (diff)
parent0d4ed1390eeb7ce5087ac82cdfdd01a1540946b9 (diff)
Merge PR #1019: Fix BZ#5655 by avoiding the creation of a cleaner thread for empty queues.
Diffstat (limited to 'stm')
-rw-r--r--stm/asyncTaskQueue.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/stm/asyncTaskQueue.ml b/stm/asyncTaskQueue.ml
index 31ede2d8b..5d9b595d3 100644
--- a/stm/asyncTaskQueue.ml
+++ b/stm/asyncTaskQueue.ml
@@ -237,7 +237,7 @@ module Make(T : Task) = struct
type queue = {
active : Pool.pool;
queue : (T.task * expiration) TQueue.t;
- cleaner : Thread.t;
+ cleaner : Thread.t option;
}
let create size =
@@ -250,7 +250,7 @@ module Make(T : Task) = struct
{
active = Pool.create queue ~size;
queue;
- cleaner = Thread.create cleaner queue;
+ cleaner = if size > 0 then Some (Thread.create cleaner queue) else None;
}
let destroy { active; queue } =