It's unsafe to hold a pointer to a row in the IDL across calls to ovsdb_idl_run() for that IDL.
Signed-off-by: Ben Pfaff <b...@nicira.com> --- ovn/controller/ovn-controller.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/ovn/controller/ovn-controller.c b/ovn/controller/ovn-controller.c index fda1534..e571bb5 100644 --- a/ovn/controller/ovn-controller.c +++ b/ovn/controller/ovn-controller.c @@ -95,16 +95,15 @@ get_bridge(struct controller_ctx *ctx, const char *name) static void get_core_config(struct controller_ctx *ctx) { - const struct ovsrec_open_vswitch *cfg; - - cfg = ovsrec_open_vswitch_first(ctx->ovs_idl); - if (!cfg) { - VLOG_ERR("No Open_vSwitch row defined."); - ovsdb_idl_destroy(ctx->ovs_idl); - exit(EXIT_FAILURE); - } - while (1) { + const struct ovsrec_open_vswitch *cfg; + cfg = ovsrec_open_vswitch_first(ctx->ovs_idl); + if (!cfg) { + VLOG_ERR("No Open_vSwitch row defined."); + ovsdb_idl_destroy(ctx->ovs_idl); + exit(EXIT_FAILURE); + } + const struct ovsrec_bridge *br_int; const char *remote, *system_id, *br_int_name; -- 2.1.3 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev