Add a quiet signal handler for SIGINT and SIGTERM since emerge calls ebuild
authorZac Medico <zmedico@gentoo.org>
Tue, 29 Jul 2008 18:31:19 +0000 (18:31 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 29 Jul 2008 18:31:19 +0000 (18:31 -0000)
for fetchs and we don't want the user to see a traceback due to the ebuild
process getting killed.

svn path=/main/trunk/; revision=11268

bin/ebuild

index 76eb398c721f2b975e0262526f69d420bb4aa334..6a9bf601b3ecf35f884f4194fe3232a9e88e30be 100755 (executable)
@@ -3,9 +3,24 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: /var/cvsroot/gentoo-src/portage/bin/ebuild,v 1.18.2.3 2005/05/07 04:32:59 ferringb Exp $
 
+import sys
+# This block ensures that ^C interrupts are handled quietly.
+try:
+       import signal
+
+       def exithandler(signum,frame):
+               signal.signal(signal.SIGINT, signal.SIG_IGN)
+               signal.signal(signal.SIGTERM, signal.SIG_IGN)
+               sys.exit(1)
+
+       signal.signal(signal.SIGINT, exithandler)
+       signal.signal(signal.SIGTERM, exithandler)
+
+except KeyboardInterrupt:
+       sys.exit(1)
+
 import optparse
 import os
-import sys
 
 description = "See the ebuild(1) man page for more info"
 usage = "Usage: ebuild <ebuild file> <command> [command] ..."