Replace read/write with send/recv 27/105127/2
authorBartlomiej Grzelewski <b.grzelewski@samsung.com>
Thu, 15 Dec 2016 11:44:46 +0000 (12:44 +0100)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Mon, 2 Jan 2017 11:01:14 +0000 (03:01 -0800)
New implementation does not require to mask SIGPILE singal in client.

Change-Id: I88338d10547f3ec521f12a83bfdb6d8391ef6bec

src/common/connection.cpp

index e5ab101eb2aab2d8de1e6cbb842437602f524390..32e98f72a84c7eb1c6ca546103d27a5d8f506075 100644 (file)
@@ -182,7 +182,10 @@ int sendToServer(char const * const interface, const RawBuffer &send, MessageBuf
             LogError("Error in poll(POLLOUT)");
             return SECURITY_MANAGER_ERROR_SOCKET;
         }
-        ssize_t temp = TEMP_FAILURE_RETRY(write(sock.Get(), &send[done], send.size() - done));
+        ssize_t temp = TEMP_FAILURE_RETRY(::send(sock.Get(),
+                                                 &send[done],
+                                                 send.size() - done,
+                                                 MSG_NOSIGNAL));
         if (-1 == temp) {
             int err = errno;
             LogError("Error in write: " << GetErrnoString(err));
@@ -196,7 +199,10 @@ int sendToServer(char const * const interface, const RawBuffer &send, MessageBuf
             LogError("Error in poll(POLLIN)");
             return SECURITY_MANAGER_ERROR_SOCKET;
         }
-        ssize_t temp = TEMP_FAILURE_RETRY(read(sock.Get(), buffer, 2048));
+        ssize_t temp = TEMP_FAILURE_RETRY(::recv(sock.Get(),
+                                                 buffer,
+                                                 2048,
+                                                 0));
         if (-1 == temp) {
             int err = errno;
             LogError("Error in read: " << GetErrnoString(err));