aboutsummaryrefslogtreecommitdiff
path: root/paramiko/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'paramiko/util.py')
-rw-r--r--paramiko/util.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/paramiko/util.py b/paramiko/util.py
index 0d6a534..f4bfbec 100644
--- a/paramiko/util.py
+++ b/paramiko/util.py
@@ -24,6 +24,7 @@ from __future__ import generators
import array
from binascii import hexlify, unhexlify
+import errno
import sys
import struct
import traceback
@@ -270,6 +271,14 @@ def get_logger(name):
l.addFilter(_pfilter)
return l
+def retry_on_signal(function):
+ """Retries function until it doesn't raise an EINTR error"""
+ while True:
+ try:
+ return function()
+ except EnvironmentError, e:
+ if e.errno != errno.EINTR:
+ raise
class Counter (object):
"""Stateful counter for CTR mode crypto"""