+++ /dev/null
-Index: keyring-5.3/keyring/backends/file.py
-===================================================================
---- keyring-5.3.orig/keyring/backends/file.py
-+++ keyring-5.3/keyring/backends/file.py
-@@ -6,6 +6,7 @@ import base64
- import sys
- import json
- import abc
-+import time
-
- from ..py27compat import configparser
-
-@@ -95,14 +96,29 @@ class BaseKeyring(FileBacked, KeyringBac
- config = configparser.RawConfigParser()
- config.read(self.file_path)
-
-+ # obtain lock for the keyring file
-+ lock = ''
-+ i = 60
-+ while i:
-+ if not os.path.isfile('/tmp/.keyringlock'):
-+ lock = open('/tmp/.keyringlock', 'w')
-+ break
-+ else:
-+ time.sleep(0.500)
-+ i=i-1
-+
- # update the keyring with the password
- if not config.has_section(service):
- config.add_section(service)
- config.set(service, username, password_base64)
-
-- # save the keyring back to the file
-- with open(self.file_path, 'w') as config_file:
-- config.write(config_file)
-+ if i:
-+ # save the keyring back to the file
-+ with open(self.file_path, 'w') as config_file:
-+ config.write(config_file)
-+ lock.close()
-+ os.remove('/tmp/.keyringlock')
-+
-
- def _ensure_file_path(self):
- """