#include "server.h"
-#include <assert.h>
-
#include "hash.h"
#include "ovsdb.h"
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);
}
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);
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)