add comment about the reset of the waiter
This commit is contained in:
parent
931c0481d7
commit
1327cc4f94
1 changed files with 3 additions and 0 deletions
|
@ -723,6 +723,9 @@ module Make (Pclock : Mirage_clock.PCLOCK) = struct
|
||||||
(fun err -> `Msg (Fmt.str "error pushing %a" Store.pp_error err))
|
(fun err -> `Msg (Fmt.str "error pushing %a" Store.pp_error err))
|
||||||
>>= fun res ->
|
>>= fun res ->
|
||||||
Lwt.wakeup_later wk () ;
|
Lwt.wakeup_later wk () ;
|
||||||
|
(* (hannes) since some other task may have mutated the
|
||||||
|
change_and_push_waiter, we only reset it to None if there's a physical
|
||||||
|
equality between its value and our created task above. *)
|
||||||
(match t.change_and_push_waiter with
|
(match t.change_and_push_waiter with
|
||||||
| Some th' -> if th' == th then t.change_and_push_waiter <- None
|
| Some th' -> if th' == th then t.change_and_push_waiter <- None
|
||||||
| None -> ());
|
| None -> ());
|
||||||
|
|
Loading…
Reference in a new issue