From 43a3863532bdb2fc7a860c27d75c26fb6ce613bd Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" Date: Mon, 31 Jul 2023 14:39:59 -0700 Subject: [PATCH] Use async with for lock --- salt/transport/zeromq.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/salt/transport/zeromq.py b/salt/transport/zeromq.py index 6cbd345aeba..d8ff05473b0 100644 --- a/salt/transport/zeromq.py +++ b/salt/transport/zeromq.py @@ -1119,17 +1119,15 @@ class RequestClient(salt.transport.base.RequestClient): async def _send_recv(self, message): message = salt.payload.dumps(message) - await self.sending.acquire() - try: - await self.socket.send(message) - ret = await self.socket.recv() - except zmq.error.ZMQError: - self.close() - await self.connect() - await self.socket.send(message) - ret = await self.socket.recv() - finally: - self.sending.release() + async with self.sending: + try: + await self.socket.send(message) + ret = await self.socket.recv() + except zmq.error.ZMQError: + self.close() + await self.connect() + await self.socket.send(message) + ret = await self.socket.recv() return salt.payload.loads(ret) async def send(self, load, timeout=60):