From 126bb2f3f24ff74181904e0a6497f5c5eb05f8f1 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Thu, 26 Jan 2017 23:40:36 +0100 Subject: [PATCH] test for #94 (using Thread.yield to trigger segfault) --- src/threads/CCSemaphore.ml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/threads/CCSemaphore.ml b/src/threads/CCSemaphore.ml index caeade9c..dcf1fb60 100644 --- a/src/threads/CCSemaphore.ml +++ b/src/threads/CCSemaphore.ml @@ -68,10 +68,10 @@ let with_acquire ~n t ~f = let a = Array.init 100 (fun i -> Thread.create (fun _ -> for _i = 1 to 100 do - with_acquire ~n:(1 + (i mod 5)) s - ~f:(fun () -> CCLock.incr n) - done - ) ()) + with_acquire ~n:(1 + (i mod 5)) s + ~f:(fun () -> Thread.yield(); CCLock.incr n) + done) + ()) in Array.iter Thread.join a; assert_equal ~printer:CCInt.to_string 5 (get s);