Make log redirection saner

My main motivation was to remove the "sync", which can stall for
minutes on a busy machine (FS#23378). I also cleaned up the redirection.

Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Jan Steffens 2011-03-24 13:30:15 +01:00 committed by Dan McGee
parent e68e994eb2
commit 14474a32c9

View file

@ -794,15 +794,15 @@ run_function() {
# ensure overridden package variables survive tee with split packages # ensure overridden package variables survive tee with split packages
logpipe=$(mktemp -u "$startdir/logpipe.XXXXXXXX") logpipe=$(mktemp -u "$startdir/logpipe.XXXXXXXX")
mkfifo "$logpipe" mkfifo "$logpipe"
exec 3>&1
tee "$BUILDLOG" < "$logpipe" & tee "$BUILDLOG" < "$logpipe" &
exec 1>"$logpipe" 2>"$logpipe" local teepid=$!
restoretrap=$(trap -p ERR) restoretrap=$(trap -p ERR)
trap 'error_function $pkgfunc' ERR trap 'error_function $pkgfunc' ERR
$pkgfunc 2>&1 $pkgfunc &>"$logpipe"
eval $restoretrap eval $restoretrap
sync
exec 1>&3 2>&3 3>&- wait $teepid
rm "$logpipe" rm "$logpipe"
else else
restoretrap=$(trap -p ERR) restoretrap=$(trap -p ERR)