summaryrefslogtreecommitdiffstats
path: root/pym/portage/exception.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/exception.py')
-rw-r--r--pym/portage/exception.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/pym/portage/exception.py b/pym/portage/exception.py
index 9564af98a..b0f9ad8eb 100644
--- a/pym/portage/exception.py
+++ b/pym/portage/exception.py
@@ -80,6 +80,20 @@ class TryAgain(PortageException):
from errno import EAGAIN as errno
"""Try again"""
+class TimeoutException(PortageException):
+ from errno import ETIME as errno
+
+class AlarmSignal(TimeoutException):
+ def __init__(self, value, signum=None, frame=None):
+ TimeoutException.__init__(self, value)
+ self.signum = signum
+ self.frame = frame
+
+ @classmethod
+ def signal_handler(cls, signum, frame):
+ raise AlarmSignal("alarm signal",
+ signum=signum, frame=frame)
+
class ReadOnlyFileSystem(PortageException):
"""Read-only file system"""