On 25/03/11 05:07, Dan McGee wrote:
On Thu, Mar 24, 2011 at 7:30 AM, Jan Steffens<[email protected]> wrote:
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]>
Fine with the patch, but can I ask how rigorous the testing is this
has gone through? I'd want to be relatively certain we don't regress
here since this will land on maint.
I have tested this against all situations I can remember that the
original logpipe stuff was supposed to have fixed. Unless I am missing
something, this is good to go with the minor change I show below.
Version with that change is on my working-maint branch.
---
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=$!
put these on separate lines and make teepid local.
tee "$BUILDLOG" < "$logpipe" &
local 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