1 Nov 2003 02:11
tmp issues: trap before making safe tmp and not defining directory
Jeremy C. Reed <reed <at> reedmedia.net>
2003-11-01 01:11:05 GMT
2003-11-01 01:11:05 GMT
This isn't NetBSD specific (but does involve software in pkgsrc).
I have some questions I'd like comments on.
I have seen many scripts that set up tmp files with a trap before. This
sets up a trap to delete the directory before the directory is even
created. In a very rare condition, if signal 1 2 3 7 13 or 15 hits it then
the directory will be removed before even checked.
For example (not my code):
cleanup()
{
rc=$?
$needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
&& { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
exit $rc
}
setupTmpDir()
{
$needsCleanup && return
trap 'cleanup' 1 2 3 7 13 15
needsCleanup=true
*** what if signal hits here, so trap does cleanup on tmpdir which was
symlinked to your important files ***
(umask 077; mkdir "$tmpdir") \
|| abort "could not create directory \`$tmpdir'"
(Continue reading)
RSS Feed