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 <[email protected]>
---
 scripts/makepkg.sh.in |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 5742c49..0b3891e 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -794,15 +794,14 @@ run_function() {
                # ensure overridden package variables survive tee with split 
packages
                logpipe=$(mktemp -u "$startdir/logpipe.XXXXXXXX")
                mkfifo "$logpipe"
-               exec 3>&1
-               tee "$BUILDLOG" < "$logpipe" &
-               exec 1>"$logpipe" 2>"$logpipe"
+               tee "$BUILDLOG" < "$logpipe" & teepid=$!
+
                restoretrap=$(trap -p ERR)
                trap 'error_function $pkgfunc' ERR
-               $pkgfunc 2>&1
+               $pkgfunc &>"$logpipe"
                eval $restoretrap
-               sync
-               exec 1>&3 2>&3 3>&-
+
+               wait $teepid
                rm "$logpipe"
        else
                restoretrap=$(trap -p ERR)
-- 
1.7.4.1


Reply via email to