diff options
-rw-r--r-- | ovsdb/jsonrpc-server.c | 9 | ||||
-rw-r--r-- | ovsdb/monitor.c | 5 | ||||
-rw-r--r-- | ovsdb/monitor.h | 2 |
3 files changed, 9 insertions, 7 deletions
diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c index 55148971a..1d57600d1 100644 --- a/ovsdb/jsonrpc-server.c +++ b/ovsdb/jsonrpc-server.c @@ -89,6 +89,9 @@ static struct jsonrpc_msg *ovsdb_jsonrpc_monitor_cancel( static void ovsdb_jsonrpc_monitor_remove_all(struct ovsdb_jsonrpc_session *); static void ovsdb_jsonrpc_monitor_flush_all(struct ovsdb_jsonrpc_session *); static bool ovsdb_jsonrpc_monitor_needs_flush(struct ovsdb_jsonrpc_session *); +static struct json *ovsdb_jsonrpc_monitor_compose_table_update( + const struct ovsdb_jsonrpc_monitor *monitor, bool initial); + /* JSON-RPC database server. */ @@ -1228,8 +1231,10 @@ ovsdb_jsonrpc_monitor_create(struct ovsdb_jsonrpc_session *s, struct ovsdb *db, } } - return jsonrpc_create_reply(ovsdb_monitor_get_initial(m->dbmon), - request_id); + ovsdb_monitor_get_initial(m->dbmon); + json = ovsdb_jsonrpc_monitor_compose_table_update(m, true); + json = json ? json : json_object_create(); + return jsonrpc_create_reply(json, request_id); error: if (m) { diff --git a/ovsdb/monitor.c b/ovsdb/monitor.c index a1aeb5f51..95299cebb 100644 --- a/ovsdb/monitor.c +++ b/ovsdb/monitor.c @@ -505,12 +505,11 @@ ovsdb_monitor_change_cb(const struct ovsdb_row *old, return true; } -struct json * +void ovsdb_monitor_get_initial(const struct ovsdb_monitor *dbmon) { struct ovsdb_monitor_aux aux; struct shash_node *node; - struct json *json; ovsdb_monitor_init_aux(&aux, dbmon); SHASH_FOR_EACH (node, &dbmon->tables) { @@ -524,8 +523,6 @@ ovsdb_monitor_get_initial(const struct ovsdb_monitor *dbmon) } } } - json = ovsdb_monitor_compose_table_update(dbmon, true); - return json ? json : json_object_create(); } void diff --git a/ovsdb/monitor.h b/ovsdb/monitor.h index 82c9a578b..aefe1d5d7 100644 --- a/ovsdb/monitor.h +++ b/ovsdb/monitor.h @@ -52,7 +52,7 @@ void ovsdb_monitor_table_add_select(struct ovsdb_monitor *dbmon, bool ovsdb_monitor_needs_flush(struct ovsdb_monitor *dbmon); -struct json *ovsdb_monitor_get_initial(const struct ovsdb_monitor *dbmon); +void ovsdb_monitor_get_initial(const struct ovsdb_monitor *dbmon); void ovsdb_monitor_destroy(struct ovsdb_monitor *dbmon); #endif |