summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
authorDavid Krause <enthus1ast@users.noreply.github.com>2022-07-16 11:59:58 +0200
committerGitHub <noreply@github.com>2022-07-16 10:59:58 +0100
commit60dd38c50262774cadb1d365e649696380c0595e (patch)
treea8a6fe950fcc750920bc93d893f513e3120d7930 /lib/pure
parentb0b9a3e5fade002b8f117f7ffb4d8fb93686401d (diff)
downloadNim-60dd38c50262774cadb1d365e649696380c0595e.tar.gz
make AsyncSocket.getPeerAddr work ; fix #15022 (#20038)
Signed-off-by: David Krause <enthus1ast@users.noreply.github.com>
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/asyncdispatch.nim2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim
index 0d406b271..ed786cefb 100644
--- a/lib/pure/asyncdispatch.nim
+++ b/lib/pure/asyncdispatch.nim
@@ -1733,6 +1733,8 @@ when defined(windows) or defined(nimdoc):
       proc (fd: AsyncFD, bytesCount: DWORD, errcode: OSErrorCode) =
         if not retFuture.finished:
           if errcode == OSErrorCode(-1):
+            const SO_UPDATE_CONNECT_CONTEXT = 0x7010
+            socket.SocketHandle.setSockOptInt(SOL_SOCKET, SO_UPDATE_CONNECT_CONTEXT, 1) # 15022
             retFuture.complete()
           else:
             retFuture.fail(newException(OSError, osErrorMsg(errcode)))