X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ovsdb%2Fserver.c;h=82f55cb1954c8c94846894491b6aa3c29de891d7;hb=87147a32c119fb9e9c1c61a8d77316f2ebd8df7b;hp=ac2aa29dfb78f85e9b4fe7028039e2f0da3fcee1;hpb=b4e8d17057ff29183c026a7bbfc751520e1629f5;p=sliver-openvswitch.git diff --git a/ovsdb/server.c b/ovsdb/server.c index ac2aa29df..82f55cb19 100644 --- a/ovsdb/server.c +++ b/ovsdb/server.c @@ -17,8 +17,6 @@ #include "server.h" -#include - #include "hash.h" #include "ovsdb.h" @@ -35,7 +33,7 @@ ovsdb_session_init(struct ovsdb_session *session, struct ovsdb_server *server) void ovsdb_session_destroy(struct ovsdb_session *session) { - assert(hmap_is_empty(&session->waiters)); + ovs_assert(hmap_is_empty(&session->waiters)); hmap_destroy(&session->waiters); } @@ -101,7 +99,7 @@ ovsdb_lock_waiter_remove(struct ovsdb_lock_waiter *waiter) void ovsdb_lock_waiter_destroy(struct ovsdb_lock_waiter *waiter) { - assert(!waiter->lock); + ovs_assert(!waiter->lock); hmap_remove(&waiter->session->waiters, &waiter->session_node); free(waiter->lock_name); free(waiter); @@ -134,6 +132,19 @@ ovsdb_server_add_db(struct ovsdb_server *server, struct ovsdb *db) return shash_add_once(&server->dbs, db->schema->name, db); } +/* Removes 'db' from the set of databases served out by 'server'. Returns + * true if successful, false if there is no db associated with + * db->schema->name. */ +bool +ovsdb_server_remove_db(struct ovsdb_server *server, struct ovsdb *db) +{ + void *data = shash_find_and_delete(&server->dbs, db->schema->name); + if (data) { + return true; + } + return false; +} + /* Destroys 'server'. */ void ovsdb_server_destroy(struct ovsdb_server *server)