swerc

anselm's simpler werc fork
git clone git://git.suckless.org/swerc
Log | Files | Refs | README

commit 2fbe1e02c7528eeaa6b05d2ca09829c32e132ba5
parent d7a4e6e2a9cc06ed09eb0616fa457aae55710eb9
Author: uriel@engel.se.cat-v.org <unknown>
Date:   Wed,  7 Jan 2009 23:50:49 +0100

Minor optimizations and reliability improvments to fproc_cache.
Diffstat:
Mbin/fproc_cache.rc | 14+++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/bin/fproc_cache.rc b/bin/fproc_cache.rc @@ -1,8 +1,9 @@ #!/usr/bin/env rc #. 9.rc # Not really needed when calling from werc, only would be needed if you use fproc_cache.rc standalone +# TODO: Allow to provide two arguments, second arg is a file name, use filename+size+mtime for hashing. +# Useful when dealing with many big files (eg., thumb gallery generation). proc=$1 - tmpfile=/tmp/fmttmp.$pid score=`{{tee $tmpfile || exit 1} | sha1sum} @@ -11,9 +12,8 @@ mkdir -p $cachedir >[2]/dev/null if(test -s $cachedir/$proc) cat $cachedir/$proc -if not { - # XXX For reliability mv should not be called unless both $proc and tee suceed - $proc < $tmpfile | tee $cachedir/$pid - mv $cachedir/$pid $cachedir/$proc -} -rm $tmpfile >[2]/dev/null +if not + if($proc < $tmpfile | tee $cachedir/$pid) + mv $cachedir/$pid $cachedir/$proc + +rm $tmpfile $cachedir/$pid >[2]/dev/null &