diff --git a/src/tef/dune b/src/tef/dune index 4e12b80..acacd95 100644 --- a/src/tef/dune +++ b/src/tef/dune @@ -3,4 +3,7 @@ (name trace_tef) (public_name trace-tef) (synopsis "Simple and lightweight tracing using TEF/Catapult format, in-process") - (libraries trace.core mtime mtime.clock.os atomic unix threads)) + (libraries trace.core mtime mtime.clock.os atomic unix threads + (select relax_.ml from + (base-domain -> relax_.real.ml) + ( -> relax_.dummy.ml)))) diff --git a/src/tef/mpsc_queue.ml b/src/tef/mpsc_queue.ml index 378fa71..c40b62d 100644 --- a/src/tef/mpsc_queue.ml +++ b/src/tef/mpsc_queue.ml @@ -18,7 +18,7 @@ module Backoff = struct let once (b : t) : t = let actual_b = b + Random.int 4 in for _i = 1 to actual_b do - Domain.cpu_relax () + Relax_.cpu_relax () done; min (b * 2) 256 end diff --git a/src/tef/relax_.dummy.ml b/src/tef/relax_.dummy.ml new file mode 100644 index 0000000..3c5fd6f --- /dev/null +++ b/src/tef/relax_.dummy.ml @@ -0,0 +1 @@ +let cpu_relax () = () diff --git a/src/tef/relax_.real.ml b/src/tef/relax_.real.ml new file mode 100644 index 0000000..f3dab5c --- /dev/null +++ b/src/tef/relax_.real.ml @@ -0,0 +1 @@ +let cpu_relax = Domain.cpu_relax