Use async with for lock

This commit is contained in:
Daniel A. Wozniak 2023-07-31 14:39:59 -07:00 committed by Gareth J. Greenaway
parent 3a84dadfd2
commit 43a3863532

View file

@ -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):