mirror of
https://github.com/openvswitch/ovs
synced 2025-10-21 14:49:41 +00:00
New function ovsdb_error_assert() for verifying that no error occurred.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2009 Nicira Networks
|
||||
/* Copyright (c) 2009, 2010 Nicira Networks
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -23,6 +23,10 @@
|
||||
#include "dynamic-string.h"
|
||||
#include "json.h"
|
||||
#include "util.h"
|
||||
#include "vlog.h"
|
||||
|
||||
#define THIS_MODULE VLM_ovsdb_error
|
||||
#include "vlog.h"
|
||||
|
||||
struct ovsdb_error {
|
||||
const char *tag; /* String for "error" member. */
|
||||
@@ -219,3 +223,19 @@ ovsdb_error_get_tag(const struct ovsdb_error *error)
|
||||
{
|
||||
return error->tag;
|
||||
}
|
||||
|
||||
/* If 'error' is nonnull, logs it as an error and frees it. To be used in
|
||||
* situations where an error should never occur, but an 'ovsdb_error *' gets
|
||||
* passed back anyhow. */
|
||||
void
|
||||
ovsdb_error_assert(struct ovsdb_error *error)
|
||||
{
|
||||
if (error) {
|
||||
static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 1);
|
||||
char *s = ovsdb_error_to_string(error);
|
||||
VLOG_ERR_RL(&rl, "unexpected ovsdb error: %s", s);
|
||||
free(s);
|
||||
ovsdb_error_destroy(error);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2009 Nicira Networks
|
||||
/* Copyright (c) 2009, 2010 Nicira Networks
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -50,4 +50,6 @@ struct json *ovsdb_error_to_json(const struct ovsdb_error *);
|
||||
|
||||
const char *ovsdb_error_get_tag(const struct ovsdb_error *);
|
||||
|
||||
void ovsdb_error_assert(struct ovsdb_error *);
|
||||
|
||||
#endif /* ovsdb-error.h */
|
||||
|
@@ -51,6 +51,7 @@ VLOG_MODULE(ovs_discover)
|
||||
VLOG_MODULE(ofproto)
|
||||
VLOG_MODULE(openflowd)
|
||||
VLOG_MODULE(ovsdb_client)
|
||||
VLOG_MODULE(ovsdb_error)
|
||||
VLOG_MODULE(ovsdb_file)
|
||||
VLOG_MODULE(ovsdb_idl)
|
||||
VLOG_MODULE(ovsdb_log)
|
||||
|
Reference in New Issue
Block a user