diff options
Diffstat (limited to 'otherlibs/threads/Tests/token2.ml')
| -rw-r--r-- | otherlibs/threads/Tests/token2.ml | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/otherlibs/threads/Tests/token2.ml b/otherlibs/threads/Tests/token2.ml deleted file mode 100644 index 32b897dd13..0000000000 --- a/otherlibs/threads/Tests/token2.ml +++ /dev/null @@ -1,36 +0,0 @@ -(* Performance test for I/O scheduling *) - -let mut = Mutex.create() - -let niter = ref 0 - -let token = ref 0 - -let process (n, ins, outs, nprocs) = - let buf = String.create 1 in - while true do - Unix.read ins.(n) buf 0 1; - (* Printf.printf "Thread %d got the token\n" n; *) - if n = 0 then begin - decr niter; - if !niter <= 0 then exit 0 - end; - let next = if n + 1 >= nprocs then 0 else n + 1 in - (* Printf.printf "Thread %d sending token to thread %d\n" n next; *) - Unix.write outs.(next) buf 0 1 - done - -let main() = - let nprocs = int_of_string Sys.argv.(1) in - let iter = int_of_string Sys.argv.(2) in - let ins = Array.create nprocs Unix.stdin in - let outs = Array.create nprocs Unix.stdout in - for n = 0 to nprocs - 1 do - let (i, o) = Unix.pipe() in ins.(n) <- i; outs.(n) <- o - done; - niter := iter; - for i = 0 to nprocs - 1 do Thread.create process (i, ins, outs, nprocs) done; - Unix.write outs.(0) "X" 0 1; - Thread.delay 3600. - -let _ = main() |
