setLen now used on asyncdispatch.recv's return value on Linux.

This fixes issues with the async httpclient.
This commit is contained in:
Dominik Picheta 2014-04-06 22:06:25 +01:00
commit d2593e1d62
2 changed files with 2 additions and 7 deletions

View file

@ -664,8 +664,7 @@ else:
var retFuture = newFuture[string]()
var readBuffer = newString(size)
var sizeRead = 0
proc cb(sock: TAsyncFD): bool =
result = true
let res = recv(sock.TSocketHandle, addr readBuffer[0], size,
@ -678,12 +677,11 @@ else:
else:
result = false # We still want this callback to be called.
elif res == 0:
#echo("Disconnected recv: ", sizeRead)
# Disconnected
retFuture.complete("")
else:
readBuffer.setLen(res)
retFuture.complete(readBuffer)
#echo("Recv cb result: ", result)
addRead(socket, cb)
return retFuture