From 7789a29d500e650e372d7abeeaa4b6e1b7349273 Mon Sep 17 00:00:00 2001 From: Jan Pochyla Date: Thu, 22 Aug 2019 17:36:04 +0200 Subject: [PATCH] core/loop: fix last commit --- core/src/trezor/loop.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/core/src/trezor/loop.py b/core/src/trezor/loop.py index 8a6eedfd9..3fc22d3fb 100644 --- a/core/src/trezor/loop.py +++ b/core/src/trezor/loop.py @@ -386,16 +386,20 @@ class chan: def put(self, value: Any) -> None: put = chan.Put(self, value) try: - yield put + return (yield put) except: # noqa: E722 - self.putters.remove((put.task, value)) + entry = (put.task, value) + if entry in self.putters: + self.putters.remove(entry) + raise def take(self) -> None: take = chan.Take(self) try: - yield take + return (yield take) except: # noqa: E722 - self.takers.remove(take.task) + if take.task in self.takers: + self.takers.remove(take.task) raise def publish(self, value: Any) -> None: