Merge pull request #1795 from akaufmann/devel

ignore signal SIGPIPE on Darwin
This commit is contained in:
Dominik Picheta
2014-12-31 00:32:43 +00:00
2 changed files with 6 additions and 2 deletions

View File

@@ -1570,9 +1570,9 @@ else:
when defined(macosx):
# We can't use the NOSIGNAL flag in the ``send`` function, it has no effect
var
MSG_HAVEMORE* {.importc, header: "<sys/socket.h>".}: cint
MSG_NOSIGNAL* = MSG_HAVEMORE
MSG_NOSIGNAL* = 0'i32
else:
var
MSG_NOSIGNAL* {.importc, header: "<sys/socket.h>".}: cint

View File

@@ -428,6 +428,10 @@ proc selectWrite*(writefds: var seq[SocketHandle],
pruneSocketSet(writefds, (wr))
# We ignore signal SIGPIPE on Darwin
when defined(macosx):
signal(SIGPIPE, SIG_IGN)
when defined(Windows):
var wsa: WSAData
if wsaStartup(0x0101'i16, addr wsa) != 0: raiseOSError(osLastError())