summaryrefslogtreecommitdiff
path: root/zebra/zebra_fpm.c
diff options
context:
space:
mode:
authorOlivier Dugeon <olivier.dugeon@orange.com>2018-01-30 11:43:25 +0100
committerOlivier Dugeon <olivier.dugeon@orange.com>2018-01-30 11:43:25 +0100
commitdab8b7a81c42c62a3effbcf157ff6a125871792c (patch)
treeb6d84054818466bd1ba72ad401272e668cb6b07d /zebra/zebra_fpm.c
parentc97dbe20a19a43dce7a1cb37cf96b2b3d66d77ca (diff)
parent15fa114fedcdb94f1de8d18b84bba6e16007e74b (diff)
Merge remote-tracking 'frr/master' into SR-Routing
Diffstat (limited to 'zebra/zebra_fpm.c')
-rw-r--r--zebra/zebra_fpm.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/zebra/zebra_fpm.c b/zebra/zebra_fpm.c
index 0d0a2cb3bf..a6e0882ff8 100644
--- a/zebra/zebra_fpm.c
+++ b/zebra/zebra_fpm.c
@@ -713,7 +713,15 @@ static int zfpm_read_cb(struct thread *thread)
nbyte = stream_read_try(ibuf, zfpm_g->sock,
FPM_MSG_HDR_LEN - already);
if (nbyte == 0 || nbyte == -1) {
- zfpm_connection_down("closed socket in read");
+ if (nbyte == -1) {
+ char buffer[1024];
+
+ sprintf(buffer, "closed socket in read(%d): %s",
+ errno, safe_strerror(errno));
+ zfpm_connection_down(buffer);
+ }
+ else
+ zfpm_connection_down("closed socket in read");
return 0;
}
@@ -743,7 +751,15 @@ static int zfpm_read_cb(struct thread *thread)
nbyte = stream_read_try(ibuf, zfpm_g->sock, msg_len - already);
if (nbyte == 0 || nbyte == -1) {
- zfpm_connection_down("failed to read message");
+ if (nbyte == -1) {
+ char buffer[1024];
+
+ sprintf(buffer, "failed to read message(%d) %s",
+ errno, safe_strerror(errno));
+ zfpm_connection_down(buffer);
+ }
+ else
+ zfpm_connection_down("failed to read message");
return 0;
}