From b5406aa83bfc9bb6e41d7ffc4e2ae1d0e8e44096 Mon Sep 17 00:00:00 2001 From: Christian Ulrich Date: Tue, 6 Oct 2020 10:04:21 +0200 Subject: [PATCH] need to unregister an close all events (fixes "too many open files" error) --- asyncutils.nim | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/asyncutils.nim b/asyncutils.nim index 8b8fe78..4e08a61 100644 --- a/asyncutils.nim +++ b/asyncutils.nim @@ -40,12 +40,16 @@ proc asyncExecCmd*(command: string): Future[string] = proc successCallback(fd: AsyncFD): bool = future.complete(^flowVar) successEvent.unregister() + successEvent.close() failureEvent.unregister() + failureEvent.close() true proc failureCallback(fd: AsyncFD): bool = future.fail(newException(OSError, ^flowVar)) successEvent.unregister() + successEvent.close() failureEvent.unregister() + failureEvent.close() true addEvent(successEvent, successCallback) addEvent(failureEvent, failureCallback)