[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ignoring SIGPIPE in libtoolize
From: |
Ralf Wildenhues |
Subject: |
Re: Ignoring SIGPIPE in libtoolize |
Date: |
Wed, 5 Apr 2006 10:27:19 +0200 |
User-agent: |
Mutt/1.5.11 |
Hi Behdad,
* Behdad Esfahbod wrote on Wed, Apr 05, 2006 at 08:25:41AM CEST:
>
> In GNOME project, we have severl machines running as tinderboxes,
> continuously building all our modules from CVS. In a lot of logs
> from these builds I'm seeing these lines:
>
> /usr/bin/libtoolize: line 93: echo: write error: Broken pipe
> /usr/bin/libtoolize: line 94: echo: write error: Broken pipe
Hmm. Can you reproduce this or is the race very difficult to win?
> which I believe is caused by the echo commands in libtoolize's
> --version feature when run as "libtoolize --version | head 1"
> (from gnome-autogen.sh) under some probably heavy loads on the
> system, making the head command terminate before libtoolize or
> something like that...
>
> As I'm not seeing similar errors from other tools we run the same
> way, I'm wondering whether libtoolize can be made to ignore
> SIGPIPE, at least in --version...
Well, I guess the simplest way around it would be to not trigger several
writes. How about this instead? If you have a chance of reproducing,
could you test this patch (against branch-1-5)?
Cheers, and thanks,
Ralf
* libtoolize.in: Use just one `cat' for `--version' output
instead of several `echo', to avoid `Broken pipe' errors.
Reported by Behdad Esfahbod <address@hidden>.
Index: libtoolize.in
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/libtoolize.in,v
retrieving revision 1.21.2.14
diff -u -r1.21.2.14 libtoolize.in
--- libtoolize.in 29 Oct 2005 14:00:44 -0000 1.21.2.14
+++ libtoolize.in 5 Apr 2006 08:25:12 -0000
@@ -87,12 +87,14 @@
;;
--version)
- echo "$PROGRAM (GNU $PACKAGE) $VERSION"
- echo
- echo "Copyright (C) 2005 Free Software Foundation, Inc."
- echo "This is free software; see the source for copying conditions. There
is NO"
- echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE."
- exit $?
+ cat <<EOF
+$PROGRAM (GNU $PACKAGE) $VERSION
+
+Copyright (C) 2005 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+EOF
+ exit
;;
--automake)