[ovs-dev] [PATCH 1/3] ovsdb: Properly close replication rpc connection
Andy Zhou
azhou at ovn.org
Wed Jul 27 19:32:17 UTC 2016
On Tue, Jul 26, 2016 at 5:37 PM, William Tu <u9012063 at gmail.com> wrote:
> Hi Andy,
>
> Thanks for fixing the memory leak! I've tested it and it solved the
> issue. btw, I think we don't have to assign "NULL" to static variable,
> C99 standard assume all static variable initializes to 0.
>
Right, I will drop the NULL initializations.
>
> Acked-by: William Tu <u9012063 at gmail.com>
>
Thanks for the review. I will push to master in a minute.
>
> On Tue, Jul 26, 2016 at 1:08 PM, Andy Zhou <azhou at ovn.org> wrote:
> > This patch removes rpc related memory leak reported below.
> >
> > Reported-at: http://openvswitch.org/pipermail/dev/2016-July/076075.html
> > Signed-off-by: Andy Zhou <azhou at ovn.org>
> > ---
> > ovsdb/ovsdb-server.c | 1 +
> > ovsdb/replication.c | 5 +++--
> > 2 files changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/ovsdb/ovsdb-server.c b/ovsdb/ovsdb-server.c
> > index 239cca8..1c6ddca 100644
> > --- a/ovsdb/ovsdb-server.c
> > +++ b/ovsdb/ovsdb-server.c
> > @@ -202,6 +202,7 @@ main_loop(struct ovsdb_jsonrpc_server *jsonrpc,
> struct shash *all_dbs,
> > }
> > }
> >
> > + disconnect_remote_server();
> > free(remotes_error);
> > }
> >
> > diff --git a/ovsdb/replication.c b/ovsdb/replication.c
> > index 52b7085..3d589ef 100644
> > --- a/ovsdb/replication.c
> > +++ b/ovsdb/replication.c
> > @@ -32,8 +32,8 @@
> > #include "table.h"
> > #include "transaction.h"
> >
> > -static char *remote_ovsdb_server;
> > -static struct jsonrpc *rpc;
> > +static char *remote_ovsdb_server = NULL;
> > +static struct jsonrpc *rpc = NULL;
> > static struct sset monitored_tables =
> SSET_INITIALIZER(&monitored_tables);
> > static struct sset tables_blacklist =
> SSET_INITIALIZER(&tables_blacklist);
> > static bool reset_dbs = true;
> > @@ -391,6 +391,7 @@ check_for_notifications(struct shash *all_dbs)
> > if (error == EAGAIN) {
> > return;
> > } else if (error) {
> > + jsonrpc_close(rpc);
> > rpc = open_jsonrpc(remote_ovsdb_server);
> > if (!rpc) {
> > /* Remote server went down. */
> > --
> > 1.9.1
> >
> > _______________________________________________
> > dev mailing list
> > dev at openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
>
More information about the dev
mailing list