From 1661062ebf147e55e29a0bfb8fc62dc7959b8614 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Thu, 11 Jan 2018 20:47:07 +0000 Subject: Raise assertion error when attempting to use closed socket. --- lib/pure/asyncnet.nim | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib/pure/asyncnet.nim') diff --git a/lib/pure/asyncnet.nim b/lib/pure/asyncnet.nim index 5be457d2a..93399bb40 100644 --- a/lib/pure/asyncnet.nim +++ b/lib/pure/asyncnet.nim @@ -277,6 +277,7 @@ template readInto(buf: pointer, size: int, socket: AsyncSocket, flags: set[SocketFlag]): int = ## Reads **up to** ``size`` bytes from ``socket`` into ``buf``. Note that ## this is a template and not a proc. + assert(not socket.closed, "Cannot `recv` on a closed socket") var res = 0 if socket.isSsl: when defineSsl: @@ -403,6 +404,7 @@ proc send*(socket: AsyncSocket, buf: pointer, size: int, ## Sends ``size`` bytes from ``buf`` to ``socket``. The returned future will complete once all ## data has been sent. assert socket != nil + assert(not socket.closed, "Cannot `send` on a closed socket") if socket.isSsl: when defineSsl: sslLoop(socket, flags, -- cgit 1.4.1-2-gfad0