[yum-cvs] yum: output.py rpmUtils/miscutils.py
Seth Vidal
skvidal at linux.duke.edu
Tue Jul 24 20:38:35 UTC 2007
output.py | 8 +++++++-
rpmUtils/miscutils.py | 11 +++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
commit f691d64ea66087858ce30eccd8cadda97c855f00
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Tue Jul 24 16:37:45 2007 -0400
apply panu's patch to catch rpm signals:
should potentially close 241278
diff --git a/output.py b/output.py
index 835613d..4519477 100644
--- a/output.py
+++ b/output.py
@@ -25,9 +25,15 @@ from i18n import _
from urlgrabber.progress import TextMeter
from urlgrabber.grabber import URLGrabError
from yum.misc import sortPkgObj, prco_tuple_to_string
+from rpmUtils.miscutils import checkSignals
from yum import logginglevels
+class YumTextMeter(TextMeter):
+ def update(self, amount_read, now=None):
+ checkSignals()
+ TextMeter.update(self, amount_read, now)
+
class YumOutput:
def __init__(self):
@@ -329,7 +335,7 @@ Remove %5.5s Package(s)
self.repos.setProgressBar(None)
self.repos.callback = None
else:
- self.repos.setProgressBar(TextMeter(fo=sys.stdout))
+ self.repos.setProgressBar(YumTextMeter(fo=sys.stdout))
self.repos.callback = CacheProgressCallback()
# setup our failure report for failover
diff --git a/rpmUtils/miscutils.py b/rpmUtils/miscutils.py
index f36122f..25ea956 100644
--- a/rpmUtils/miscutils.py
+++ b/rpmUtils/miscutils.py
@@ -21,6 +21,7 @@ import gzip
import os
import sys
import locale
+import signal
import rpmUtils.transaction
@@ -357,3 +358,13 @@ def hdrFromPackage(ts, package):
os.close(fdno)
return hdr
+
+def checkSignals():
+ if hasattr(rpm, "checkSignals"):
+ if rpm.signalsCaught([signal.SIGINT,
+ signal.SIGTERM,
+ signal.SIGPIPE,
+ signal.SIGQUIT,
+ signal.SIGHUP]):
+ exit(1)
+
More information about the Yum-cvs-commits
mailing list