From af41a6de51bfd0f20b55d904b2ba5b8c67ba3abf Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Wed, 25 Aug 2004 14:58:45 +0000 Subject: [PATCH] - vbuild was hanging because of a corrupt RPM database. Eventually it will die of its own accord. - build images in .vtmp - cleanup on error --- scripts/vcached | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/scripts/vcached b/scripts/vcached index e79b5b9..4522f45 100755 --- a/scripts/vcached +++ b/scripts/vcached @@ -16,7 +16,7 @@ # Mark Huang # Copyright (c) 2004 The Trustees of Princeton University (Trustees). # -# $Id: vcached,v 1.1 2004/07/30 16:46:24 mlh-pl_kernel Exp $ +# $Id: vcached,v 1.2 2004/08/19 22:09:20 mlh-pl_kernel Exp $ # # number of images to keep cached @@ -58,7 +58,7 @@ if [ $foreground -eq 0 ] ; then fi # record PID -trap "killall -q -w vbuild ; rm -f $pidfile ; exit 255" EXIT +trap "rm -f $pidfile ; exit 255" EXIT echo $$ > $pidfile : ${UTIL_VSERVER_VARS:=$(dirname $0)/util-vserver-vars} @@ -82,10 +82,17 @@ while : ; do if [ ! -d "$VROOTDIR/.vcache/v$i" ] ; then echo "$(date) Caching v$i" # build image in .vtmp - "$PKGLIBDIR/vbuild" "$VROOTDIR/vserver-reference" "$VROOTDIR/.vtmp/v$i" + TMP=$(mktemp -d "$VROOTDIR/.vtmp/v$i.XXXXXX") + "$PKGLIBDIR/vbuild" "$VROOTDIR/vserver-reference" "$TMP" + RETVAL=$? # move it to .vcache when complete - mv "$VROOTDIR/.vtmp/v$i" "$VROOTDIR/.vcache/v$i" - echo "$(date) v$i ready" + if [ $RETVAL -eq 0 ] ; then + mv "$TMP" "$VROOTDIR/.vcache/v$i" + echo "$(date) v$i ready" + else + echo "$(date) Error $RETVAL building v$i" + rm -rf "$TMP" + fi fi done [ $debug -ne 0 ] && echo "$(date) Sleeping for $period seconds" -- 2.43.0