Linux async fixes.

This commit is contained in:
Dominik Picheta 2014-07-13 22:43:52 +01:00
commit 2158952917

View file

@ -722,7 +722,7 @@ else:
proc cb(sock: TAsyncFD): bool = proc cb(sock: TAsyncFD): bool =
result = true result = true
let res = recv(sock.TSocketHandle, addr readBuffer[0], size.cint, let res = recv(sock.TSocketHandle, addr readBuffer[0], size.cint,
flags.cint) flags.toOSFlags())
#echo("recv cb res: ", res) #echo("recv cb res: ", res)
if res < 0: if res < 0:
let lastError = osLastError() let lastError = osLastError()
@ -760,7 +760,7 @@ else:
let lastError = osLastError() let lastError = osLastError()
if lastError.int32 notin {EINTR, EWOULDBLOCK, EAGAIN}: if lastError.int32 notin {EINTR, EWOULDBLOCK, EAGAIN}:
if flags.isDisconnectionError(lastError): if flags.isDisconnectionError(lastError):
retFuture.complete("") retFuture.complete()
else: else:
retFuture.fail(newException(EOS, osErrorMsg(lastError))) retFuture.fail(newException(EOS, osErrorMsg(lastError)))
else: else: