[118298] trunk/base/src/macports1.0/macports.tcl

cal at macports.org cal at macports.org
Sat Mar 29 08:47:26 PDT 2014


Revision: 118298
          https://trac.macports.org/changeset/118298
Author:   cal at macports.org
Date:     2014-03-29 08:47:26 -0700 (Sat, 29 Mar 2014)
Log Message:
-----------
base: setup signal handling in mportinit

Given the code already in registry2.0/portimage.tcl this will finally prevent
inconsistent state when an activation operation is interrupted. The code there
will correctly catch the error and roll back the changes made to the
filesystem.

There might be further places where MacPorts could be smarter now that is has
signal handling code, but I think this change is already a huge improvement.

Modified Paths:
--------------
    trunk/base/src/macports1.0/macports.tcl

Modified: trunk/base/src/macports1.0/macports.tcl
===================================================================
--- trunk/base/src/macports1.0/macports.tcl	2014-03-29 15:44:08 UTC (rev 118297)
+++ trunk/base/src/macports1.0/macports.tcl	2014-03-29 15:47:26 UTC (rev 118298)
@@ -36,6 +36,7 @@
 package provide macports 1.0
 package require macports_dlist 1.0
 package require macports_util 1.0
+package require Tclx
 
 namespace eval macports {
     namespace export bootstrap_options user_options portinterp_options open_mports ui_priorities port_phases
@@ -588,6 +589,11 @@
     # Set the system encoding to utf-8
     encoding system utf-8
 
+    # Set up signal handling for SIGTERM and SIGINT
+    # Specifying error here will case the program to abort where it is with
+    # a Tcl error, which can be caught, if necessary.
+    signal -restart error {TERM INT}
+
     # set up platform info variables
     set os_arch $tcl_platform(machine)
     if {$os_arch eq {Power Macintosh}} {set os_arch "powerpc"}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140329/ed27547c/attachment.html>


More information about the macports-changes mailing list