From f87a2bc5199104d87ccc48dcc2b0e18d345a9bb4 Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Fri, 10 Feb 2017 23:40:34 +0100 Subject: ipcpd: Silent shutdown of normal The acceptor will not log disconnects with IRMd. Unexpected disconnects will be reported and handled by management components. --- src/ipcpd/normal/main.c | 5 +++-- src/irmd/main.c | 2 +- src/lib/dev.c | 5 +++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ipcpd/normal/main.c b/src/ipcpd/normal/main.c index 81912614..11ec0938 100644 --- a/src/ipcpd/normal/main.c +++ b/src/ipcpd/normal/main.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "addr_auth.h" #include "ae.h" @@ -45,7 +46,6 @@ #include #include #include -#include #include #include @@ -108,7 +108,8 @@ static void * flow_acceptor(void * o) fd = flow_accept(&ae_name, &qs); if (fd < 0) { - log_warn("Flow accept failed."); + if (fd != -EIRMD) + log_warn("Flow accept failed: %d", fd); continue; } diff --git a/src/irmd/main.c b/src/irmd/main.c index 74cb8359..2454a9ca 100644 --- a/src/irmd/main.c +++ b/src/irmd/main.c @@ -1888,7 +1888,7 @@ void * mainloop(void * o) (qoscube_t *) &ret_msg.qoscube); if (e == NULL) { ret_msg.has_result = true; - ret_msg.result = -1; + ret_msg.result = -EIRMD; break; } ret_msg.has_port_id = true; diff --git a/src/lib/dev.c b/src/lib/dev.c index 38f7cddf..4d85a5d9 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -402,6 +402,11 @@ int flow_accept(char ** ae_name, if (recv_msg == NULL) return -EIRMD; + if (recv_msg->has_result) { + irm_msg__free_unpacked(recv_msg, NULL); + return -EIRMD; + } + if (!recv_msg->has_api || !recv_msg->has_port_id) { irm_msg__free_unpacked(recv_msg, NULL); return -1; -- cgit v1.2.3