From: Boram Bae Date: Tue, 7 Apr 2020 09:17:20 +0000 (+0900) Subject: Disconnect channel when peer performs shutdown X-Git-Tag: accepted/tizen/unified/20200408.131459~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=092f88abdf304862cb4995c26401a1d96a95656b;hp=9301f562fae427a5b6a8a573e4b05e9029bafb99;p=platform%2Fcore%2Fsystem%2Fsensord.git Disconnect channel when peer performs shutdown Change-Id: Iaccbd1d23b9000f20f9cef3a536948847a174985 Signed-off-by: Boram Bae --- diff --git a/src/shared/channel.cpp b/src/shared/channel.cpp index f39cd8d..020d5fb 100644 --- a/src/shared/channel.cpp +++ b/src/shared/channel.cpp @@ -284,8 +284,12 @@ bool channel::read_sync(message &msg, bool select) /* header */ size = m_socket->recv(&header, sizeof(message_header), select); - retv_if(size <= 0, false); - + if (size <= 0) { + if (size == -1) { + disconnect(); + } + return false; + } /* check error from header */ if (m_handler && header.err != 0) { m_handler->error_caught(this, header.err); @@ -301,7 +305,12 @@ bool channel::read_sync(message &msg, bool select) if (header.length > 0) { size = m_socket->recv(&buf, header.length, select); - retv_if(size <= 0, false); + if (size <= 0) { + if (size == -1) { + disconnect(); + } + return false; + } } buf[header.length] = '\0';