On Thu, 4 Feb 2010, Joel E. Denny wrote:

> >From a47eeff13e6105e678a1cc3031ed8f33fa141fc3 Mon Sep 17 00:00:00 2001
> From: Joel E. Denny <[email protected]>
> Date: Thu, 4 Feb 2010 18:20:12 -0500
> Subject: [PATCH] portability: fix several issues with M4 subprocess.
> 
> M4's output pipe was not being drained upon fatal errors during
> scan_skel.  As a result, broken-pipe messages from M4 were seen
> on at least AIX, HP-UX, Solaris, and RHEL4, and this caused a
> failure in the test suite.  The problem was that, on platforms
> where the default disposition for SIGPIPE is ignore instead of
> terminate, M4 sometimes saw fwrite fail with errno=EPIPE and
> then reported it.  However, there's some sort of race condition,
> because the new test group occasionally succeeded.
> Reported by Albert Chin at
> <http://lists.gnu.org/archive/html/bug-bison/2010-02/msg00004.html>.
> 
> There were also problems with the test suite deadlocking on
> Tru64 5.1b.  Reported by Didier Godefroy at
> <http://lists.gnu.org/archive/html/bug-bison/2009-05/msg00005.html>.
> Switching to create_pipe_bidi suggested by Akim Demaille.
> 
> To solve both of these problems, switch to gnulib's
> create_pipe_bidi and register M4 process as a slave.  Along the
> way, clean up file name conflict handling, which was affected by
> the broken-pipe problem before the switch.

After a few superficial tweaks, I pushed that to branch-2.4.2, branch-2.5, 
and master.


Reply via email to