diff options
| author | suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> | 2024-07-07 20:33:45 +0200 |
|---|---|---|
| committer | suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> | 2024-07-07 20:33:45 +0200 |
| commit | 704325623238beb0137377d12388d09251737e74 (patch) | |
| tree | 9ca996c3c222af8aa1c5750d7b23b52f19c6d76e /backend | |
| parent | c1f01dcb21bb34a238f1cb9e82cd2388aa26d206 (diff) | |
| download | decky-loader-704325623238beb0137377d12388d09251737e74.tar.gz decky-loader-704325623238beb0137377d12388d09251737e74.zip | |
Add lock to internal socket fetch functionsims/fix-backend-socket-concurrent-use
Diffstat (limited to 'backend')
| -rw-r--r-- | backend/decky_loader/localplatform/localsocket.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/backend/decky_loader/localplatform/localsocket.py b/backend/decky_loader/localplatform/localsocket.py index c0b4faa1..b25b275a 100644 --- a/backend/decky_loader/localplatform/localsocket.py +++ b/backend/decky_loader/localplatform/localsocket.py @@ -19,6 +19,7 @@ class UnixSocket: self.reader = None self.writer = None self.server_writer = None + self.open_lock = asyncio.Lock() async def setup_server(self): try: @@ -42,10 +43,11 @@ class UnixSocket: return True async def get_socket_connection(self): - if not await self._open_socket_if_not_exists(): - return None, None - - return self.reader, self.writer + async with self.open_lock: + if not await self._open_socket_if_not_exists(): + return None, None + + return self.reader, self.writer async def close_socket_connection(self): if self.writer != None: |
