Merge pull request #6047 from euantorano/patch-1

Wait for reads to finish before reading the result
This commit is contained in:
Dominik Picheta
2017-07-11 19:19:19 +01:00
committed by GitHub
2 changed files with 56 additions and 4 deletions

View File

@@ -533,15 +533,13 @@ proc recvLineInto*(socket: AsyncSocket, resString: FutureVar[string],
else:
var c = ""
while true:
let recvFut = recv(socket, 1, flags)
c = recvFut.read()
c = await recv(socket, 1, flags)
if c.len == 0:
resString.mget.setLen(0)
resString.complete()
return
if c == "\r":
let recvFut = recv(socket, 1, flags) # Skip \L
c = recvFut.read()
c = await recv(socket, 1, flags) # Skip \L
assert c == "\L"
addNLIfEmpty()
resString.complete()