• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mbarbin / super-master-mind / 262

15 May 2026 02:30PM UTC coverage: 81.112% (-10.1%) from 91.171%
262

push

github

mbarbin
Upgrade dune CI to 3.23.1

1211 of 1493 relevant lines covered (81.11%)

1638737.34 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

72.73
/src/task_pool.ml
1
(*********************************************************************************)
2
(*  super-master-mind: A solver for the super master mind game                   *)
3
(*  SPDX-FileCopyrightText: 2021-2025 Mathieu Barbin <mathieu.barbin@gmail.com>  *)
4
(*  SPDX-License-Identifier: MIT                                                 *)
5
(*********************************************************************************)
6

7
module Config = struct
8
  type t = { num_workers : int }
9

10
  module Default = struct
11
    let num_workers () = Domain.recommended_domain_count () - 1
3✔
12
  end
13

14
  let default () = { num_workers = Default.num_workers () }
3✔
15

16
  let arg =
17
    let open Command.Std in
18
    let+ num_domains =
19
      Arg.named_opt
11✔
20
        [ "num-domains" ]
21
        Param.int
22
        ~doc:
23
          "Total number of cores to use for parallel computing, including the main \
24
           domain. By default, use all available cores."
25
    in
26
    let num_workers =
×
27
      match num_domains with
28
      | Some n -> n - 1
×
29
      | None -> Default.num_workers ()
×
30
    in
31
    { num_workers }
32
  ;;
33
end
34

35
type t = { pool : Domainslib.Task.pool }
36

37
let with_t { Config.num_workers } ~f =
38
  let pool = Domainslib.Task.setup_pool ~num_domains:num_workers () in
3✔
39
  let (t : t) = { pool } in
3✔
40
  Fun.protect
41
    ~f:(fun () -> f ~task_pool:t)
3✔
42
    ~finally:(fun () -> Domainslib.Task.teardown_pool pool)
3✔
43
;;
44

45
let run t ~f = Domainslib.Task.run t.pool (fun () -> f ~pool:t.pool)
6✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc