From 5448b623bdbeec6efd2c99dc2b04e778bc019136 Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Tue, 25 Jan 2022 10:05:17 -0600 Subject: [PATCH] avoid spin/live-lock on 0 bytes read --- websock/session.nim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/websock/session.nim b/websock/session.nim index 6af9e770..4978f959 100644 --- a/websock/session.nim +++ b/websock/session.nim @@ -399,6 +399,9 @@ proc recvMsg*( var buf = newSeq[byte](min(size, ws.frameSize)) let read = await ws.recv(addr buf[0], buf.len) + if read <= 0: + return res + buf.setLen(read) if res.len + buf.len > size: raise newException(WSMaxMessageSizeError, "Max message size exceeded")