diff options
author | Jacek Sieka <arnetheduck@gmail.com> | 2016-08-17 18:49:36 +0800 |
---|---|---|
committer | Jacek Sieka <arnetheduck@gmail.com> | 2016-08-17 18:49:36 +0800 |
commit | 4d558e2608799e6ad136804d9cad5a2dc32d25a5 (patch) | |
tree | ae51a376e5a387623195c5afa7e1f565c0be9bf8 /lib/pure/net.nim | |
parent | 3cd4cf4320cba2795d2a9021c55a20cbbe2b04ae (diff) | |
parent | 006207742f43f4e793b8681c38b879d74d3f8672 (diff) | |
download | Nim-4d558e2608799e6ad136804d9cad5a2dc32d25a5.tar.gz |
Merge remote-tracking branch 'origin/devel' into compiler-cleanup
Diffstat (limited to 'lib/pure/net.nim')
-rw-r--r-- | lib/pure/net.nim | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/pure/net.nim b/lib/pure/net.nim index 9501f6dc7..bd208761b 100644 --- a/lib/pure/net.nim +++ b/lib/pure/net.nim @@ -205,6 +205,10 @@ proc newSocket*(fd: SocketHandle, domain: Domain = AF_INET, if buffered: result.currPos = 0 + # Set SO_NOSIGPIPE on OS X. + when defined(macosx): + setSockOptInt(fd, SOL_SOCKET, SO_NOSIGPIPE, 1) + proc newSocket*(domain, sockType, protocol: cint, buffered = true): Socket = ## Creates a new socket. ## @@ -342,8 +346,6 @@ when defineSsl: result = SSLContext(context: newCTX, extraInternalIndex: 0, referencedData: initSet[int]()) result.extraInternalIndex = getExtraDataIndex(result) - # The PSK callback functions assume the internal index is 0. - assert result.extraInternalIndex == 0 let extraInternal = new(SslContextExtraInternal) result.setExtraData(result.extraInternalIndex, extraInternal) @@ -392,6 +394,8 @@ when defineSsl: ## ## Only used in PSK ciphersuites. ctx.getExtraInternal().clientGetPskFunc = fun + assert ctx.extraInternalIndex == 0, + "The pskClientCallback assumes the extraInternalIndex is 0" ctx.context.SSL_CTX_set_psk_client_callback( if fun == nil: nil else: pskClientCallback) |