const struct json *request_id)
{
struct ovsdb_jsonrpc_monitor *m = NULL;
+ struct ovsdb_monitor *dbmon = NULL;
struct json *monitor_id, *monitor_requests;
struct ovsdb_error *error = NULL;
struct shash_node *node;
}
}
+ dbmon = ovsdb_monitor_add(m->dbmon);
+ if (dbmon != m->dbmon) {
+ /* Found an exisiting dbmon, reuse the current one. */
+ ovsdb_monitor_remove_jsonrpc_monitor(m->dbmon, m);
+ ovsdb_monitor_add_jsonrpc_monitor(dbmon, m);
+ m->dbmon = dbmon;
+ }
+
ovsdb_monitor_get_initial(m->dbmon);
json = ovsdb_jsonrpc_monitor_compose_update(m, true);
json = json ? json : json_object_create();
}
static struct json *
-ovsdb_jsonrpc_monitor_compose_update(
- struct ovsdb_jsonrpc_monitor *monitor, bool initial)
+ovsdb_jsonrpc_monitor_compose_update(struct ovsdb_jsonrpc_monitor *m,
+ bool initial)
{
- return ovsdb_monitor_compose_update(monitor->dbmon, initial,
- &monitor->unflushed);
+ return ovsdb_monitor_get_update(m->dbmon, initial, &m->unflushed);
}
static bool