fixeria submitted this change.
trx_toolkit/transceiver: Use with tx_queue_lock instead of manual acquire/release
- it is a bit faster
- it is a bit more robust as the lock becomes released in case
some exception is raised before reaching release
Noticed while moving forwarding out of tx_queue_lock in
I7d10c972c45b2b5765e7c3a28f8646508b3c8a82.
Change-Id: I74b194120bcc518d44796b57e36368bdc8de4aab
---
M src/target/trx_toolkit/transceiver.py
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py
index 2a638c5..e6af013 100644
--- a/src/target/trx_toolkit/transceiver.py
+++ b/src/target/trx_toolkit/transceiver.py
@@ -312,18 +312,16 @@
emit = []
wait = []
- self._tx_queue_lock.acquire()
+ with self._tx_queue_lock:
+ for msg in self._tx_queue:
+ if msg.fn < fn:
+ drop.append(msg)
+ elif msg.fn == fn:
+ emit.append(msg)
+ else:
+ wait.append(msg)
- for msg in self._tx_queue:
- if msg.fn < fn:
- drop.append(msg)
- elif msg.fn == fn:
- emit.append(msg)
- else:
- wait.append(msg)
-
- self._tx_queue = wait
- self._tx_queue_lock.release()
+ self._tx_queue = wait
for msg in emit:
fwd.forward_msg(self, msg)
To view, visit change 39535. To unsubscribe, or for help writing mail filters, visit settings.