We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 56ac226 commit 6b8de3fCopy full SHA for 6b8de3f
src/core/ds/atomicLazy.ml
@@ -10,12 +10,12 @@ let from_fun f =
10
{ value = None; mutex = Mutex.create (); compute = (fun () -> f()) }
11
12
let force lazy_val =
13
- if Option.is_none lazy_val.value then
14
- Mutex.protect lazy_val.mutex (fun () ->
15
- let result = lazy_val.compute () in
16
- lazy_val.value <- Some result;
17
- );
18
match lazy_val.value with
19
- | Some v -> v
20
- | None -> failwith "Value not computed"
+ | None ->
+ Mutex.protect lazy_val.mutex (fun () ->
+ let result = lazy_val.compute () in
+ lazy_val.value <- Some result;
+ result
+ )
+ | Some v -> v
21
0 commit comments