git://git.onelab.eu
/
sliver-openvswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ovs-vsctl: Try connecting only once for active connections by default.
[sliver-openvswitch.git]
/
ovsdb
/
jsonrpc-server.c
diff --git
a/ovsdb/jsonrpc-server.c
b/ovsdb/jsonrpc-server.c
index
8e1c030
..
6e0a6f6
100644
(file)
--- a/
ovsdb/jsonrpc-server.c
+++ b/
ovsdb/jsonrpc-server.c
@@
-1,4
+1,4
@@
-/* Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc.
+/* Copyright (c) 2009, 2010, 2011, 2012
, 2013
Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-17,7
+17,6
@@
#include "jsonrpc-server.h"
#include "jsonrpc-server.h"
-#include <assert.h>
#include <errno.h>
#include "bitmap.h"
#include <errno.h>
#include "bitmap.h"
@@
-211,7
+210,7
@@
ovsdb_jsonrpc_server_add_remote(struct ovsdb_jsonrpc_server *svr,
shash_add(&svr->remotes, name, remote);
if (!listener) {
shash_add(&svr->remotes, name, remote);
if (!listener) {
- ovsdb_jsonrpc_session_create(remote, jsonrpc_session_open(name));
+ ovsdb_jsonrpc_session_create(remote, jsonrpc_session_open(name
, true
));
}
return remote;
}
}
return remote;
}
@@
-385,9
+384,13
@@
ovsdb_jsonrpc_session_close(struct ovsdb_jsonrpc_session *s)
{
ovsdb_jsonrpc_monitor_remove_all(s);
ovsdb_jsonrpc_session_unlock_all(s);
{
ovsdb_jsonrpc_monitor_remove_all(s);
ovsdb_jsonrpc_session_unlock_all(s);
+ ovsdb_jsonrpc_trigger_complete_all(s);
+
+ hmap_destroy(&s->monitors);
+ hmap_destroy(&s->triggers);
+
jsonrpc_session_close(s->js);
list_remove(&s->node);
jsonrpc_session_close(s->js);
list_remove(&s->node);
- ovsdb_session_destroy(&s->up);
s->remote->server->n_sessions--;
ovsdb_session_destroy(&s->up);
free(s);
s->remote->server->n_sessions--;
ovsdb_session_destroy(&s->up);
free(s);
@@
-1292,7
+1295,7
@@
ovsdb_jsonrpc_monitor_remove_all(struct ovsdb_jsonrpc_session *s)
static struct ovsdb_jsonrpc_monitor *
ovsdb_jsonrpc_monitor_cast(struct ovsdb_replica *replica)
{
static struct ovsdb_jsonrpc_monitor *
ovsdb_jsonrpc_monitor_cast(struct ovsdb_replica *replica)
{
- assert(replica->class == &ovsdb_jsonrpc_replica_class);
+
ovs_
assert(replica->class == &ovsdb_jsonrpc_replica_class);
return CONTAINER_OF(replica, struct ovsdb_jsonrpc_monitor, replica);
}
return CONTAINER_OF(replica, struct ovsdb_jsonrpc_monitor, replica);
}