[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/8] oxenstored: catch the error when a connection is already deleted
On 15 Sep 2014, at 23:39, Zheng Li <dev@xxxxxxxx> wrote: > The function process_fdset_with is called on the read set connections first. > During the process, it might destroy a connection and remove it from the > connections database if some errors occur. However, a reference to the same > connection might still exist in the write set, which is awaiting to be > processed next. In this case, a Not_found error will be raised and the process > is aborted. Good catch! This might explain the occasional mysterious xenstored disappearance... > > This patch changes the logic to ignore connections just missing from the > connection database and continue the rest part of the work. > > Signed-off-by: Zheng Li <dev@xxxxxxxx> > --- > tools/ocaml/xenstored/xenstored.ml | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/tools/ocaml/xenstored/xenstored.ml > b/tools/ocaml/xenstored/xenstored.ml > index dacea21..ea1a08f 100644 > --- a/tools/ocaml/xenstored/xenstored.ml > +++ b/tools/ocaml/xenstored/xenstored.ml > @@ -43,8 +43,11 @@ let process_connection_fds store cons domains rset wset = > debug "closing socket connection" > in > let process_fdset_with fds fct = > - List.iter (fun fd -> try_fct fct (Connections.find cons fd)) fds > - in > + List.iter > + (fun fd -> > + try try_fct fct (Connections.find cons fd) > + with Not_found -> () > + ) fds in > process_fdset_with rset Process.do_input; > process_fdset_with wset Process.do_output > > -- > 2.1.0 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |