static void jsonrpc_cleanup(struct jsonrpc *rpc) { stream_close(rpc->stream); rpc->stream = NULL; json_parser_abort(rpc->parser); rpc->parser = NULL; ofpbuf_list_delete(&rpc->output); rpc->backlog = 0; rpc->output_count = 0; }
/* Disconnects 'rc' and frees the underlying storage. */ void rconn_destroy(struct rconn *rc) { if (rc) { size_t i; free(rc->name); free(rc->target); vconn_close(rc->vconn); flush_queue(rc); ofpbuf_list_delete(&rc->txq); for (i = 0; i < rc->n_monitors; i++) { vconn_close(rc->monitors[i]); } free(rc); } }