diff --git a/include/connio.h b/include/connio.h index 82c6e4d..ebb2eed 100644 --- a/include/connio.h +++ b/include/connio.h @@ -174,7 +174,7 @@ typedef struct { #define CONN_TCP_WRITE(c, b, l, r) \ { \ do { \ - (r) = IPsend((c)->socket, b, l, 0); \ + (r) = IPsend((c)->socket, b, l, MSG_NOSIGNAL); \ if ((r) >= 0) { \ CONN_TRACE_DATA((c), CONN_TRACE_EVENT_WRITE, (b), (r)); \ break; \ diff --git a/include/xplutil.h b/include/xplutil.h index abe9594..b80cebc 100644 --- a/include/xplutil.h +++ b/include/xplutil.h @@ -387,7 +387,6 @@ void XplDelayNanosleep(int msec); typedef void (*XplShutdownFunc)(int Signal); void XplSignalCatcher(XplShutdownFunc ShutdownFunction); void XplSignalBlock(void); -void XplSignalIgnorePipe(void); #define XplSignalHandler(handler) XplSignalCatcher((handler)); #endif diff --git a/src/libs/connio/connio.c b/src/libs/connio/connio.c index 45f70ed..37832d6 100644 --- a/src/libs/connio/connio.c +++ b/src/libs/connio/connio.c @@ -180,9 +180,6 @@ ConnStartup(unsigned long TimeOut, BOOL EnableSSL) seed[sizeof(seed) - 1] = '\0'; } - // Ignore SIGPIPE for now - we don't seem to detect failed - // connections correctly. See bug #9726. - XplSignalIgnorePipe(); XplSignalLocalSemaphore(ConnIO.allocated.sem); return(TRUE); diff --git a/src/libs/xpl/mem.c b/src/libs/xpl/mem.c index 4da4cbb..a137ab4 100644 --- a/src/libs/xpl/mem.c +++ b/src/libs/xpl/mem.c @@ -89,16 +89,6 @@ void XplSignalBlock(void) return; } -void XplSignalIgnorePipe(void) -{ - struct sigaction act; - - act.sa_handler = SIG_IGN; - sigemptyset (&act.sa_mask); - act.sa_flags = 0; - sigaction (SIGPIPE, &act, NULL); -} - void XplSignalCatcher(XplShutdownFunc XplShutdownFunction) { sigset_t signalSet;