aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/async.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2010-02-23 23:45:33 +0000
committerRob Austein <sra@hactrn.net>2010-02-23 23:45:33 +0000
commita202256cf2183a35ab649b766965c4c1f65abf8d (patch)
treedb892d761edc5a121e4cc3f2d0d50d603e7b9fae /rpkid/rpki/async.py
parent5c52490fc13d7f75cc3759b78d0c8ce6d60bb58b (diff)
Try not to lose original exception context when blowing out of sync_wrapper.
svn path=/rpkid/rpki/async.py; revision=3004
Diffstat (limited to 'rpkid/rpki/async.py')
-rw-r--r--rpkid/rpki/async.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/rpkid/rpki/async.py b/rpkid/rpki/async.py
index 23f2c1ce..c545a88f 100644
--- a/rpkid/rpki/async.py
+++ b/rpkid/rpki/async.py
@@ -18,7 +18,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
"""
-import asyncore, signal, traceback, gc
+import asyncore, signal, traceback, gc, sys
import rpki.log, rpki.sundial
ExitNow = asyncore.ExitNow
@@ -323,7 +323,8 @@ class sync_wrapper(object):
raise ExitNow
def eb(self, err):
- self.err = err
+ exc_info = sys.exc_info()
+ self.err = exc_info if exc_info[1] is err else err
raise ExitNow
def __call__(self, *args, **kwargs):