summaryrefslogtreecommitdiff
path: root/lib/ferr.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2019-01-08 21:33:49 +0000
committerQuentin Young <qlyoung@cumulusnetworks.com>2019-07-29 17:18:18 +0000
commit1f9128d69fa2741368b72a6e0ab4ef25fd29a636 (patch)
treefbdf035783d2f23c5329e20d3d29d7cc9dc6cfdd /lib/ferr.c
parent2816a8799d62d375efbb5f89d9ef6939432bdf46 (diff)
vtysh: only show error codes once
When using `show error` commands, show errors shared between multiple daemons only once. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'lib/ferr.c')
-rw-r--r--lib/ferr.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/ferr.c b/lib/ferr.c
index 65c0cf886d..8afc926c41 100644
--- a/lib/ferr.c
+++ b/lib/ferr.c
@@ -126,10 +126,8 @@ void log_ref_display(struct vty *vty, uint32_t code, bool json)
if (code) {
ref = log_ref_get(code);
- if (!ref) {
- vty_out(vty, "Code %"PRIu32" - Unknown\n", code);
+ if (!ref)
return;
- }
listnode_add(errlist, ref);
}
@@ -197,8 +195,6 @@ void log_ref_init(void)
"Error Reference Texts");
}
pthread_mutex_unlock(&refs_mtx);
-
- install_element(VIEW_NODE, &show_error_code_cmd);
}
void log_ref_fini(void)
@@ -212,6 +208,12 @@ void log_ref_fini(void)
pthread_mutex_unlock(&refs_mtx);
}
+void log_ref_vty_init(void)
+{
+ install_element(VIEW_NODE, &show_error_code_cmd);
+}
+
+
const struct ferr *ferr_get_last(ferr_r errval)
{
struct ferr *last_error = pthread_getspecific(errkey);