Thanks for the review. I applied this to master.
On Fri, Feb 28, 2014 at 05:18:05PM -0800, Alex Wang wrote: > Looks good to me, > > I had trouble connecting to controller, this patch solves the problem, > > > > On Fri, Feb 28, 2014 at 4:21 PM, Ben Pfaff <b...@nicira.com> wrote: > > > When a connection takes a few rounds of the state machine to complete, > > 'error' gets filled with EAGAIN until that completes. This didn't match > > the vconn_get_status() documentation, which says that it only returns a > > positive errno value if there was an error. One could fix the problem > > by updating the documentation (and the callers) or by updating the > > implementation. I decided that the latter was the way to go because > > the distinction between the TCP connection being in progress or complete > > isn't visible to the client; what is visible to the client is the OpenFlow > > negotiation being complete. > > > > This problem is difficult to find in the unit tests because TCP connections > > to localhost complete immediately. > > > > Bug introduced by commit accaecc419cc57d (rconn: Discover errors in > > rconn_run() even if rconn_recv() is never called.) > > > > Reported-by: Anuprem Chalvadi <achalv...@vmware.com> > > Signed-off-by: Ben Pfaff <b...@nicira.com> > > --- > > AUTHORS | 1 + > > lib/vconn.c | 2 +- > > 2 files changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/AUTHORS b/AUTHORS > > index d8f13ba..34e53c3 100644 > > --- a/AUTHORS > > +++ b/AUTHORS > > @@ -144,6 +144,7 @@ Andr? Ru? andre.r...@hybris.com > > Andreas Beckmann deb...@abeckmann.de > > Andrei Andone andrei.and...@softvision.ro > > Anton Matsiuk anton.mats...@gmail.com > > +Anuprem Chalvadi achalv...@vmware.com > > Atzm Watanabe a...@stratosphere.co.jp > > Bastian Blank wa...@debian.org > > Ben Basler bbas...@nicira.com > > diff --git a/lib/vconn.c b/lib/vconn.c > > index c1485f0..d6d239f 100644 > > --- a/lib/vconn.c > > +++ b/lib/vconn.c > > @@ -299,7 +299,7 @@ vconn_run_wait(struct vconn *vconn) > > int > > vconn_get_status(const struct vconn *vconn) > > { > > - return vconn->error; > > + return vconn->error == EAGAIN ? 0 : vconn->error; > > } > > > > int > > -- > > 1.7.10.4 > > > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > http://openvswitch.org/mailman/listinfo/dev > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev