From ae64089e5378eca6b4d5f3b751ce413365cfef04 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Sun, 28 Jul 2013 18:28:50 +0100 Subject: [PATCH] Fixed crash when worker has just been registered and didn't get executed yet. --- lib/pure/asyncio.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/pure/asyncio.nim b/lib/pure/asyncio.nim index 5bd3f578f..ef2a46be0 100644 --- a/lib/pure/asyncio.nim +++ b/lib/pure/asyncio.nim @@ -757,7 +757,7 @@ proc poll*(d: PDispatcher, timeout: int = 500): bool = processWorkers(d) var readWorkers = populateRead(d) var writeWorkers = populateWrite(d) - echo(readWorkers.len, " ", d.requests[reqNil].len, d.requests[reqReadLine].len) + #echo(readWorkers.len, " ", d.requests[reqNil].len, d.requests[reqReadLine].len) if select(readWorkers, writeWorkers, timeout) != 0: var newRequests: array[TRequestKind, seq[PWorker]] = newRequests() for req in TRequestKind: @@ -827,7 +827,8 @@ proc poll*(d: PDispatcher, timeout: int = 500): bool = of reqReg: assert false, "reqReg should have been processed already" of reqNil: - assert false, "reqNil should have been processed already" + # Nothing to do. Most likely that a new worker has just been + # registered. newRequests[addTo].add(worker) d.requests = newRequests