diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2013-12-26 21:32:30 +0000 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2013-12-26 21:32:30 +0000 |
commit | be5e13671cdd923953d7b1b2137f06673fe7bb96 (patch) | |
tree | 11779693530d1730efb0e30f4b6bd5d8924caba4 | |
parent | 8c1ea5cb3f72901be47dc20366d228b0a1c9b417 (diff) | |
download | Nim-be5e13671cdd923953d7b1b2137f06673fe7bb96.tar.gz |
Remove assert in asyncio which causes problems.
This assert keeps failing occassionally in nimbuild causing it to crash. According to logic it shouldn't, but perhaps the socket's writeable status changes.
-rw-r--r-- | lib/pure/asyncio.nim | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/pure/asyncio.nim b/lib/pure/asyncio.nim index c4a07d751..3c2a5c17a 100644 --- a/lib/pure/asyncio.nim +++ b/lib/pure/asyncio.nim @@ -233,8 +233,11 @@ proc asyncSockHandleWrite(h: PObject) = let sock = PAsyncSocket(h) try: let bytesSent = sock.socket.sendAsync(sock.sendBuffer) - assert bytesSent > 0 - if bytesSent != sock.sendBuffer.len: + if bytesSent == 0: + # Apparently the socket cannot be written to. Even though select + # just told us that it can be... This used to be an assert. Just + # do nothing instead. + elif bytesSent != sock.sendBuffer.len: sock.sendBuffer = sock.sendBuffer[bytesSent .. -1] elif bytesSent == sock.sendBuffer.len: sock.sendBuffer = "" |