X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ovsdb%2Fjsonrpc-server.c;h=1c08a10f398f13135fe4fc5ebe63eb0ce154db6e;hb=1264cb08bfcc5cd9372decb53d3e3a7d07cc3a2b;hp=fc8b194e9ff59b6084182735818e11ab8388f7f5;hpb=a8425c53c5785856cabe80295f0cea0135febdb6;p=openvswitch diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c index fc8b194e..1c08a10f 100644 --- a/ovsdb/jsonrpc-server.c +++ b/ovsdb/jsonrpc-server.c @@ -89,23 +89,15 @@ ovsdb_jsonrpc_server_create(struct ovsdb *db) return server; } -int -ovsdb_jsonrpc_server_listen(struct ovsdb_jsonrpc_server *svr, const char *name) +void +ovsdb_jsonrpc_server_listen(struct ovsdb_jsonrpc_server *svr, + struct pstream *pstream) { - struct pstream *pstream; - int error; - - error = pstream_open(name, &pstream); - if (error) { - return error; - } - if (svr->n_listeners >= svr->allocated_listeners) { svr->listeners = x2nrealloc(svr->listeners, &svr->allocated_listeners, sizeof *svr->listeners); } svr->listeners[svr->n_listeners++] = pstream; - return 0; } void @@ -330,7 +322,7 @@ ovsdb_jsonrpc_session_run(struct ovsdb_jsonrpc_session *s) struct jsonrpc_msg *request; params = json_array_create_empty(); - request = jsonrpc_create_request("echo", params); + request = jsonrpc_create_request("echo", params, NULL); json_destroy(request->id); request->id = json_string_create("echo"); jsonrpc_send(s->rpc, request); @@ -714,7 +706,9 @@ ovsdb_jsonrpc_monitor_create(struct ovsdb_jsonrpc_session *s, return ovsdb_jsonrpc_monitor_get_initial(m); error: - ovsdb_remove_replica(s->server->db, &m->replica); + if (m) { + ovsdb_remove_replica(s->server->db, &m->replica); + } json = ovsdb_error_to_json(error); ovsdb_error_destroy(error);