Rename tmpdir funcs. Include pid in tmpdir name.

This commit is contained in:
Daniel Nichter
2011-11-28 11:16:23 -07:00
parent 42675e33b8
commit 173085e823
2 changed files with 18 additions and 16 deletions

View File

@@ -27,7 +27,7 @@ set -u
TMPDIR="" TMPDIR=""
OPT_TMPDIR=${OPT_TMPDIR:""} OPT_TMPDIR=${OPT_TMPDIR:""}
# Sub: set_TMPDIR # Sub: mk_tmpdir
# Create a secure tmpdir and set TMPDIR. # Create a secure tmpdir and set TMPDIR.
# #
# Optional Global Variables: # Optional Global Variables:
@@ -35,7 +35,7 @@ OPT_TMPDIR=${OPT_TMPDIR:""}
# #
# Set Global Variables: # Set Global Variables:
# TMPDIR - Absolute path of secure temp directory. # TMPDIR - Absolute path of secure temp directory.
set_TMPDIR() { mk_tmpdir() {
if [ -n "$OPT_TMPDIR" ]; then if [ -n "$OPT_TMPDIR" ]; then
TMPDIR="$OPT_TMPDIR" TMPDIR="$OPT_TMPDIR"
if [ ! -d "$TMPDIR" ]; then if [ ! -d "$TMPDIR" ]; then
@@ -43,19 +43,21 @@ set_TMPDIR() {
fi fi
else else
local tool=`basename $0` local tool=`basename $0`
TMPDIR=`mktemp -d /tmp/${tool}.XXXXX` || die "Cannot make secure tmpdir" local pid="$$"
TMPDIR=`mktemp -d /tmp/${tool}.${pid}.XXXXX` \
|| die "Cannot make secure tmpdir"
fi fi
} }
# Sub: rm_TMPDIR # Sub: rm_tmpdir
# Remove the tmpdir and unset TMPDIR. # Remove the tmpdir and unset TMPDIR.
# #
# Optional Global Variables: # Optional Global Variables:
# TMPDIR - TMPDIR set by <set_TMPDIR()>. # TMPDIR - TMPDIR set by <mk_tmpdir()>.
# #
# Set Global Variables: # Set Global Variables:
# TMPDIR - Set to "". # TMPDIR - Set to "".
rm_TMPDIR() { rm_tmpdir() {
if [ -n "$TMPDIR" ] && [ -d "$TMPDIR" ]; then if [ -n "$TMPDIR" ] && [ -d "$TMPDIR" ]; then
rm -rf $TMPDIR rm -rf $TMPDIR
fi fi

View File

@@ -8,17 +8,17 @@ source "$LIB_DIR/tmpdir.sh"
TEST_NAME="TMPDIR not defined" TEST_NAME="TMPDIR not defined"
is "$TMPDIR" "" is "$TMPDIR" ""
TEST_NAME="set_TMPDIR makes secure tmpdir" TEST_NAME="mk_tmpdir makes secure tmpdir"
set_TMPDIR mk_tmpdir
cmd_ok "test -d $TMPDIR" cmd_ok "test -d $TMPDIR"
tmpdir=$TMPDIR; tmpdir=$TMPDIR;
TEST_NAME="rm_TMPDIR" TEST_NAME="rm_tmpdir"
rm_TMPDIR rm_tmpdir
cmd_ok "test ! -d $tmpdir" cmd_ok "test ! -d $tmpdir"
TEST_NAME="rm_TMPDIR resets TMPDIR" TEST_NAME="rm_tmpdir resets TMPDIR"
is "$TMPDIR" "" is "$TMPDIR" ""
# --tmpdir # --tmpdir
@@ -30,15 +30,15 @@ is "$TMPDIR" ""
TEST_NAME="--tmpdir does not exist yet" TEST_NAME="--tmpdir does not exist yet"
cmd_ok "test ! -d $OPT_TMPDIR" cmd_ok "test ! -d $OPT_TMPDIR"
set_TMPDIR mk_tmpdir
TEST_NAME="set_TMPDIR uses --tmpdir" TEST_NAME="mk_tmpdir uses --tmpdir"
is "$TMPDIR" "/tmp/use--tmpdir" is "$TMPDIR" "/tmp/use--tmpdir"
TEST_NAME="set_TMPDIR creates --tmpdir" TEST_NAME="mk_tmpdir creates --tmpdir"
cmd_ok "test -d $TMPDIR" cmd_ok "test -d $TMPDIR"
tmpdir=$TMPDIR; tmpdir=$TMPDIR;
TEST_NAME="rm_TMPDIR removes --tmpdir" TEST_NAME="rm_tmpdir removes --tmpdir"
rm_TMPDIR rm_tmpdir
cmd_ok "test ! -d $tmpdir" cmd_ok "test ! -d $tmpdir"