From a certain cause, if the pipe is broken, then the process will be aborted unexpectedly
and the remaining behavior of that process will be skipped.
The SIGPIPE signal cause this abort.
So, to prevent the unexpect abort, the MSG_NOSIGNAL flag can be the solution.
Becuase, this flag turns off the signaling caused by current system call.
Even though the signaling is off, the process could know the pipe error from errno(EPIPE).
Change-Id: Ifd35062947a24982b160f0774546a855332c7b94
Signed-off-by: jongmyeongko <jongmyeong.ko@samsung.com>
return -1;
}
- r = send(fd, data, len, 0);
+ r = send(fd, data, len, MSG_NOSIGNAL);
if (r < 0) {
ERR("failed to send data: %d", errno);
close(fd);