From: Hyunbin Lee Date: Tue, 19 Nov 2013 06:07:51 +0000 (+0900) Subject: RemoteMessagePort::SendMessage() returns E_SYSTEM when the socket receiver buffer... X-Git-Tag: accepted/tizen/generic/20140106.144557~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cb33bec6436074d611d398a93e0b78437142cc52;hp=102d9124a6981de495cb23e8bd98c2de322960fb;p=platform%2Fframework%2Fnative%2Fappfw.git RemoteMessagePort::SendMessage() returns E_SYSTEM when the socket receiver buffer of remote port is temporarily full. Change-Id: I077e532b391536ec4cbf5ce603b37165ed236e5d Signed-off-by: Hyunbin Lee --- diff --git a/src/io/FIo_MessagePortProxy.cpp b/src/io/FIo_MessagePortProxy.cpp index 23ad6ea..1252927 100644 --- a/src/io/FIo_MessagePortProxy.cpp +++ b/src/io/FIo_MessagePortProxy.cpp @@ -346,6 +346,11 @@ _MessagePortProxy::SendMessage(const AppId& remoteAppId, const String& remotePor if (ret < 0) { + if (ret == MESSAGEPORT_ERROR_RESOURCE_UNAVAILABLE) + { + SysLogException(NID_IO, E_SYSTEM, "[E_SYSTEM] The socket receiver queue of remote port is temporarily full."); + } + result r = ConvertToResult(ret); SysTryReturnResult(NID_IO, r != E_OBJ_NOT_FOUND, E_OBJ_NOT_FOUND, "The remote message port is not found."); @@ -403,6 +408,11 @@ _MessagePortProxy::SendMessage(const String& localPort, bool isTrustedLocal, con if (ret < 0) { + if (ret == MESSAGEPORT_ERROR_RESOURCE_UNAVAILABLE) + { + SysLogException(NID_IO, E_SYSTEM, "[E_SYSTEM] The socket receiver queue of remote port is temporarily full."); + } + result r = ConvertToResult(ret); SysTryReturnResult(NID_IO, r != E_OBJ_NOT_FOUND, E_OBJ_NOT_FOUND, "The remote message port is not found."); @@ -462,6 +472,9 @@ _MessagePortProxy::ConvertToResult(int error) case MESSAGEPORT_ERROR_MAX_EXCEEDED: return E_MAX_EXCEEDED; + case MESSAGEPORT_ERROR_RESOURCE_UNAVAILABLE: + // fall through + default: return E_SYSTEM; }