comm: ignore SIGPIPE

This prevents client and server from being sent a SIGPIPE (and
terminating) when the other side unexpectedly closes the connection.
It's way easier to handle this condition when checking the write()
return value, than to do anything smart in a SIGPIPE handler.  More
details:
<http://stackoverflow.com/questions/108183/how-to-prevent-sigpipes-or-handle-them-properly>

Change-Id: I1da5bf5ef79c8b7b00ede976e96ed4f1c560049d
This commit is contained in:
Horst Schirmeier
2013-04-25 16:21:59 +02:00
parent 091e8dcae0
commit 880e7a81ff
4 changed files with 16 additions and 0 deletions

View File

@ -21,6 +21,10 @@ namespace fail {
class SocketComm {
public:
/**
* This allows us to ignore SIGPIPE.
*/
static void init();
/**
* Send Protobuf-generated message
* @param sockfd open socket descriptor to write to