diff --git a/scripts/cleanup_pkgcache_locked.sh b/scripts/cleanup_pkgcache_locked.sh index 5c9fc3d..20b9b8e 100755 --- a/scripts/cleanup_pkgcache_locked.sh +++ b/scripts/cleanup_pkgcache_locked.sh @@ -3,10 +3,10 @@ SABAYON_MOLECULE_HOME="${SABAYON_MOLECULE_HOME:-/sabayon}" . "${SABAYON_MOLECULE_HOME}/scripts/iso_build.include" ( - flock --timeout 7200 -x 9 + flock --timeout ${LOCK_TIMEOUT} -x 9 if [ "${?}" != "0" ]; then echo "[cleanup] cannot acquire lock, stale process holding it?" >&2 - exit 1 + kill_stale_process || exit 1 fi "${SABAYON_MOLECULE_HOME}/scripts/cleanup_pkgcache.sh" ) 9> "${ISO_BUILD_LOCK}" diff --git a/scripts/iso_build.include b/scripts/iso_build.include index d117cd6..2d9e75d 100644 --- a/scripts/iso_build.include +++ b/scripts/iso_build.include @@ -1,3 +1,11 @@ #!/bin/sh ISO_BUILD_LOCK=/tmp/.daily_iso_build.sh.lock +LOCK_TIMEOUT=$((3600 * 2)) # 2 hours + +kill_stale_process() { + echo "[kill] NOT killing stale process automatically for NOW" >&2 + #local inode=$(stat -L --format '%i' "${ISO_BUILD_LOCK}") # ignore device... + #local pids=$(cat /proc/locks | grep ":${inode}" | awk '{ print $5 }') + return 1 +} diff --git a/scripts/iso_build_locked.sh b/scripts/iso_build_locked.sh index 37196bd..e43ca57 100755 --- a/scripts/iso_build_locked.sh +++ b/scripts/iso_build_locked.sh @@ -12,20 +12,20 @@ SABAYON_MOLECULE_HOME="${SABAYON_MOLECULE_HOME:-/sabayon}" # Pull new data from Git ( - flock --timeout 7200 -x 9 + flock --timeout ${LOCK_TIMEOUT} -x 9 if [ "${?}" != "0" ]; then echo "[git pull] cannot acquire lock, stale process holding it?" >&2 - exit 1 + kill_stale_process || exit 1 fi cd /sabayon && git pull --quiet ) 9> "${ISO_BUILD_LOCK}" # Execute build ( - flock --timeout 7200 -x 9 + flock --timeout ${LOCK_TIMEOUT} -x 9 if [ "${?}" != "0" ]; then echo "[build] cannot acquire lock, stale process holding it?" >&2 - exit 1 + kill_stale_process || exit 1 fi "${SABAYON_MOLECULE_HOME}/scripts/${BUILD_SCRIPT_NAME}"