ipc: fix send error handling

Message ID 708fbde65c4d7eb3a93f957287caf564e363e33c.1556274407.git.anatoly.burakov@intel.com (mailing list archive)
State Accepted, archived
Headers
Series ipc: fix send error handling |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Burakov, Anatoly April 26, 2019, 10:27 a.m. UTC
  According to manpage, ENOBUFS error indicates that either the
input or the output queue is full. This should be considered
an error, but it is treated as an "ignore" condition. Fix the
code to report an error instead.

Fixes: bacaa2754017 ("eal: add channel for multi-process communication")
Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/eal_common_proc.c | 5 -----
 1 file changed, 5 deletions(-)
  

Comments

Rami Rosen April 28, 2019, 7:43 a.m. UTC | #1
Acked-by: Rami Rosen <ramirose@gmail.com>
  
Thomas Monjalon May 3, 2019, 12:26 p.m. UTC | #2
26/04/2019 12:27, Anatoly Burakov:
> According to manpage, ENOBUFS error indicates that either the
> input or the output queue is full. This should be considered
> an error, but it is treated as an "ignore" condition. Fix the
> code to report an error instead.
> 
> Fixes: bacaa2754017 ("eal: add channel for multi-process communication")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index b46d644b3..f26a60595 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -678,11 +678,6 @@  send_msg(const char *dst_path, struct rte_mp_msg *msg, int type)
 			unlink(dst_path);
 			return 0;
 		}
-		if (errno == ENOBUFS) {
-			RTE_LOG(ERR, EAL, "Peer cannot receive message %s\n",
-				dst_path);
-			return 0;
-		}
 		RTE_LOG(ERR, EAL, "failed to send to (%s) due to %s\n",
 			dst_path, strerror(errno));
 		return -1;