Fix FutureStream memory usage (#17395) [backport:1.2]

(cherry picked from commit 9bb0e55749)
This commit is contained in:
Igor Ribeiro de Assis
2021-03-16 21:46:22 +01:00
committed by narimiran
parent 560800246e
commit f97d840f96

View File

@@ -110,7 +110,11 @@ proc read*[T](future: FutureStream[T]): owned(Future[(bool, T)]) =
resFut.complete(res)
# If the saved callback isn't nil then let's call it.
if not savedCb.isNil: savedCb()
if not savedCb.isNil:
if fs.queue.len > 0:
savedCb()
else:
future.cb = savedCb
if future.queue.len > 0 or future.finished:
newCb(future)