]> git.saurik.com Git - bison.git/commitdiff
* bootstrap (cleanup_gnulib): New function. Use it to clean up
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 31 Oct 2005 00:11:48 +0000 (00:11 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 31 Oct 2005 00:11:48 +0000 (00:11 +0000)
gnulib when interrupted.  This fixes some race conditions and
works around some portability problems (one noted by Paul
Hilfinger).

ChangeLog
bootstrap

index 5218c81081f194a903f8c9daae3f21314ce60965..bd6490700b81ff39da929f9ee9f56b93b3c6e512 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (cleanup_gnulib): New function.  Use it to clean up
+       gnulib when interrupted.  This fixes some race conditions and
+       works around some portability problems (one noted by Paul
+       Hilfinger).
+
 2005-10-22  Akim  <akim@epita.fr>
 
        * Makefile.cfg: Adjust to config -> build-aux.
 2005-10-22  Akim  <akim@epita.fr>
 
        * Makefile.cfg: Adjust to config -> build-aux.
index 4b3164a3a2cefcf7a5ee19c5b10fd9b4ebc82587..a86aeb83f7807b5d4bd53296e3a6d969a77a2012 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -58,6 +58,12 @@ build_cvs_prefix() {
   fi
 }
 
   fi
 }
 
+cleanup_gnulib() {
+  status=$?
+  rm -fr gnulib
+  exit $status
+}
+
 # Get gnulib files.
 
 case ${GNULIB_SRCDIR--} in
 # Get gnulib files.
 
 case ${GNULIB_SRCDIR--} in
@@ -65,9 +71,6 @@ case ${GNULIB_SRCDIR--} in
   if [ ! -d gnulib ]; then
     echo "$0: getting gnulib files..."
 
   if [ ! -d gnulib ]; then
     echo "$0: getting gnulib files..."
 
-    trap exit 1 2 13 15
-    trap 'rm -fr gnulib; exit 1' 0
-
     case ${CVS_AUTH-anoncvs} in
     anoncvs)
       CVS_PREFIX='anoncvs@';;
     case ${CVS_AUTH-anoncvs} in
     anoncvs)
       CVS_PREFIX='anoncvs@';;
@@ -82,9 +85,12 @@ case ${GNULIB_SRCDIR--} in
     '') export CVS_RSH=ssh;;
     esac
 
     '') export CVS_RSH=ssh;;
     esac
 
-    cvs -z3 -q -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib co gnulib || exit
+    trap cleanup_gnulib 1 2 13 15
+
+    cvs -z3 -q -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib co gnulib ||
+      cleanup_gnulib
 
 
-    trap - 0
+    trap - 1 2 13 15
   fi
   GNULIB_SRCDIR=gnulib
 esac
   fi
   GNULIB_SRCDIR=gnulib
 esac