Fix tmp directory cleanup with verbose

Can't set multiple traps on the same signal -- ensure that when the
verbose option is set, the regular cleanup is done in addition to the
lockfile cleanup.
This commit is contained in:
Raman Gupta 2020-07-29 22:01:30 -04:00
parent aa93b62873
commit f1baab604b

11
scan
View File

@ -27,8 +27,12 @@ DRIVER_OPTION=
VERBOSE=0 VERBOSE=0
SKIP_EMPTY_PAGES=0 SKIP_EMPTY_PAGES=0
TMP_DIR=$(mktemp -d) TMP_DIR=$(mktemp -d -p "" scan.XXXXXXXXXX)
trap "rm -rf $TMP_DIR" 0 cleanup()
{
rm -rf "$TMP_DIR"
}
trap cleanup EXIT
# Parse command-line options # Parse command-line options
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
@ -214,11 +218,10 @@ export SKIP_EMPTY_PAGES
if [ $VERBOSE = 1 ]; then if [ $VERBOSE = 1 ]; then
LOCKFILE=$(mktemp) LOCKFILE=$(mktemp)
trap "rm -rf $LOCKFILE" 0 trap "cleanup; rm -rf $LOCKFILE" EXIT
export LOCKFILE export LOCKFILE
fi; fi;
echo >&2 "Scanning..." echo >&2 "Scanning..."
#eval strace -f -o /tmp/scan-trace.txt scanadf -d $DEVICE $MAXPAGE $PGHEIGHT $PGWIDTH -S $SCRIPT --script-wait --resolution $RESOLUTION --mode $MODE $DESKEW $CROP $SOURCE -o scan-%04d #eval strace -f -o /tmp/scan-trace.txt scanadf -d $DEVICE $MAXPAGE $PGHEIGHT $PGWIDTH -S $SCRIPT --script-wait --resolution $RESOLUTION --mode $MODE $DESKEW $CROP $SOURCE -o scan-%04d
eval scanadf -d "$DEVICE" $MAXPAGE $PGHEIGHT $PGWIDTH -S $SCRIPT --script-wait --resolution $RESOLUTION --mode $MODE $DESKEW $CROP $DRIVER_OPTION $SOURCE -o $TMP_DIR/scan-%04d eval scanadf -d "$DEVICE" $MAXPAGE $PGHEIGHT $PGWIDTH -S $SCRIPT --script-wait --resolution $RESOLUTION --mode $MODE $DESKEW $CROP $DRIVER_OPTION $SOURCE -o $TMP_DIR/scan-%04d