diff options
author | Bartlomiej Grzelewski <b.grzelewski@samsung.com> | 2015-08-19 12:34:04 +0200 |
---|---|---|
committer | Bartlomiej Grzelewski <b.grzelewski@samsung.com> | 2015-08-19 12:55:01 +0200 |
commit | 09a7d6e27fa2f13a79a2a6a0e076e74b65a37f36 (patch) | |
tree | bbbbda61efc75be266ad27b4f168097421c02da5 /src/manager/client | |
parent | e936b1f16266d77678354e8d57b619065fda866a (diff) | |
download | key-manager-09a7d6e27fa2f13a79a2a6a0e076e74b65a37f36.tar.gz key-manager-09a7d6e27fa2f13a79a2a6a0e076e74b65a37f36.tar.bz2 key-manager-09a7d6e27fa2f13a79a2a6a0e076e74b65a37f36.zip |
Replace read/write with send/recv.
New implementation does not require to mask SIGPIPE signal in client.
Change-Id: Ic2a920b56ed9a6e3dc6627fa026857f31d5c1630
Diffstat (limited to 'src/manager/client')
-rw-r--r-- | src/manager/client/client-common.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/manager/client/client-common.cpp b/src/manager/client/client-common.cpp index 1d61e670..10d5de19 100644 --- a/src/manager/client/client-common.cpp +++ b/src/manager/client/client-common.cpp @@ -241,9 +241,10 @@ int ServiceConnection::send(const CKM::RawBuffer &send_buf) break; } - ssize_t temp = TEMP_FAILURE_RETRY(write(m_socket.get(), - &send_buf[done], - send_buf.size() - done)); + ssize_t temp = TEMP_FAILURE_RETRY(::send(m_socket.get(), + &send_buf[done], + send_buf.size() - done, + MSG_NOSIGNAL)); if (-1 == temp) { LogError("Error in write: " << CKM::GetErrnoString(errno)); retCode = CKM_API_ERROR_SOCKET; @@ -278,9 +279,10 @@ int ServiceConnection::receive(CKM::MessageBuffer &recv_buf) break; } - ssize_t temp = TEMP_FAILURE_RETRY(read(m_socket.get(), - buffer, - sizeof(buffer))); + ssize_t temp = TEMP_FAILURE_RETRY(::recv(m_socket.get(), + buffer, + sizeof(buffer), + 0)); if(-1 == temp) { LogError("Error in read: " << CKM::GetErrnoString(errno)); ec = CKM_API_ERROR_SOCKET; |