Block SIG_PIPE on service send() operation 66/298166/1
authorZofia Abramowska <z.abramowska@samsung.com>
Fri, 1 Sep 2023 08:04:40 +0000 (10:04 +0200)
committerZofia Abramowska <z.abramowska@samsung.com>
Fri, 1 Sep 2023 09:56:07 +0000 (11:56 +0200)
Change-Id: I49c3a8a4a52e8b35b5588377476551a79adc5c16

src/service/sockets/SocketManager.cpp

index bd8c0b64bbfffa83e6aac9b115dc71359ff8c82d..5ee92691a4ca0d06c87cf72849efe076901c688f 100644 (file)
@@ -183,7 +183,7 @@ void SocketManager::readyForWrite(int fd) {
     auto &desc = m_fds[fd];
     auto &buffer = desc.prepareWriteBuffer();
     size_t size = buffer.size();
-    ssize_t result = write(fd, buffer.data(), size);
+    ssize_t result = send(fd, buffer.data(), size, MSG_NOSIGNAL);
     if (result == -1) {
         int err = errno;
         switch (err) {