summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gemato/openpgp.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/gemato/openpgp.py b/gemato/openpgp.py
index 6df28de..56257f5 100644
--- a/gemato/openpgp.py
+++ b/gemato/openpgp.py
@@ -71,9 +71,15 @@ class OpenPGPEnvironment(object):
def close(self):
if self._home is not None:
if self._started:
- # terminate the agent spawned by the process
- subprocess.Popen(['gpgconf', '--kill', 'all'],
- env={'GNUPGHOME': self._home}).wait()
+ try:
+ # terminate the agent spawned by the process
+ subprocess.Popen(['gpgconf', '--kill', 'all'],
+ env={'GNUPGHOME': self._home}).wait()
+ except OSError as e:
+ # ignore ENOENT -- most likely it means gpg1 which
+ # had no gpg-agent
+ if e.errno != errno.ENOENT:
+ raise
shutil.rmtree(self._home, onerror=self._rmtree_error_handler)
self._home = None