make AsyncSocket.getPeerAddr work ; fix #15022 (#20038)

Signed-off-by: David Krause <enthus1ast@users.noreply.github.com>
This commit is contained in:
David Krause
2022-07-16 11:59:58 +02:00
committed by GitHub
parent b0b9a3e5fa
commit 60dd38c502

View File

@@ -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)))