2008-10-25 22:29:42 -06:00
|
|
|
#!/usr/bin/env rc
|
|
|
|
#. 9.rc # Not really needed when calling from werc, only would be needed if you use fproc_cache.rc standalone
|
|
|
|
|
|
|
|
proc=$1
|
|
|
|
|
|
|
|
tmpfile=/tmp/fmttmp.$pid
|
|
|
|
score=`{{tee $tmpfile || exit 1} | sha1sum}
|
|
|
|
|
|
|
|
cachedir=/tmp/fproc_cache/$score
|
|
|
|
mkdir -p $cachedir >[2]/dev/null
|
|
|
|
|
2008-12-16 00:02:36 -07:00
|
|
|
if(test -s $cachedir/$proc)
|
2008-10-25 22:29:42 -06:00
|
|
|
cat $cachedir/$proc
|
|
|
|
if not {
|
2008-12-16 00:08:05 -07:00
|
|
|
# XXX For reliability mv should not be called unless both $proc and tee suceed
|
2008-10-25 22:29:42 -06:00
|
|
|
$proc < $tmpfile | tee $cachedir/$pid
|
|
|
|
mv $cachedir/$pid $cachedir/$proc
|
|
|
|
}
|
|
|
|
rm $tmpfile >[2]/dev/null
|