diff --git a/tools/ocaml/xenstored/connections.ml b/tools/ocaml/xenstored/connections.ml index 9f9f7ee2f0..6ee3552ec2 100644 --- a/tools/ocaml/xenstored/connections.ml +++ b/tools/ocaml/xenstored/connections.ml @@ -134,6 +134,10 @@ let del_watch cons con path token = cons.watches <- Trie.set cons.watches key watches; watch +let del_watches cons con = + Connection.del_watches con; + cons.watches <- Trie.map (del_watches_of_con con) cons.watches + (* path is absolute *) let fire_watches ?oldroot root cons path recurse = let key = key_of_path path in diff --git a/tools/ocaml/xenstored/process.ml b/tools/ocaml/xenstored/process.ml index 73e04cc18b..437d2dcf9e 100644 --- a/tools/ocaml/xenstored/process.ml +++ b/tools/ocaml/xenstored/process.ml @@ -179,8 +179,8 @@ let do_isintroduced con _t domains _cons data = if domid = Define.domid_self || Domains.exist domains domid then "T\000" else "F\000" (* only in xen >= 4.2 *) -let do_reset_watches con _t _domains _cons _data = - Connection.del_watches con; +let do_reset_watches con _t _domains cons _data = + Connections.del_watches cons con; Connection.del_transactions con (* only in >= xen3.3 *)