From d3e872c79c495b776652518e0a76e41755a058e6 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Mon, 30 Aug 2021 23:14:09 +0200 Subject: [PATCH] Unregister from observable when stream is closed --- src/Quasar/Network/Runtime/Observable.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Quasar/Network/Runtime/Observable.hs b/src/Quasar/Network/Runtime/Observable.hs index eb4e7ec..5a32a5e 100644 --- a/src/Quasar/Network/Runtime/Observable.hs +++ b/src/Quasar/Network/Runtime/Observable.hs @@ -49,6 +49,8 @@ newObservableStub startRetrieveRequest startObserveRequest = pure uncachedObserv retrieveFn = toTask <$> startRetrieveRequest observeToStream :: (Binary v, MonadAsync m) => Observable v -> Stream (PackedObservableMessage v) Void -> m () -observeToStream observable stream = - asyncObserve_ observable \msg -> +observeToStream observable stream = do + disposable <- asyncObserve observable \msg -> streamSend stream $ packObservableMessage msg + + attachDisposable (getResourceManager stream) disposable -- GitLab