From 1d68abb7a2e768e8defa49365d2bbd218f7fedfb Mon Sep 17 00:00:00 2001 From: Vu Pham Date: Mon, 2 Feb 2015 02:49:34 -0800 Subject: [PATCH] xio: Fix release xio message on closed connection issue Do not call xio_release_msg on closed connection Signed-off-by: Vu Pham --- src/msg/xio/XioPortal.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/msg/xio/XioPortal.h b/src/msg/xio/XioPortal.h index cd7a2e702580..fdc197230b93 100644 --- a/src/msg/xio/XioPortal.h +++ b/src/msg/xio/XioPortal.h @@ -158,9 +158,13 @@ public: inline void release_xio_rsp(XioRsp* xrsp) { struct xio_msg *msg = xrsp->dequeue(); struct xio_msg *next_msg = NULL; + int code; while (msg) { next_msg = static_cast(msg->user_context); - int code = xio_release_msg(msg); + if (unlikely(!xrsp->xcon->conn || !xrsp->xcon->is_connected())) + code = ENOTCONN; + else + code = xio_release_msg(msg); if (unlikely(code)) { /* very unlikely, so log it */ xrsp->xcon->msg_release_fail(msg, code); -- 2.47.3