[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Crash with recursive make

From: John Hall
Subject: Crash with recursive make
Date: Thu, 5 Oct 2006 13:47:01 +0100


I compiled make 3.81 from source using Visual Studio 2005. The only
changes I made were to upgrade the project/solution from 2003 to 2005
and to #define HAVE_CASE_INSENSITIVE_FS in config.h.

When doing a recursive make, the child process immediately crashed. When
running under the debugger I saw a CRT assertion. In func_shell in
function.c it was attempting to close the write side of a pipe, but the
file handle was actually -1. I've just done: 

diff -u -r1.1 -r1.3
--- function.c  5 Oct 2006 12:21:54 -0000       1.1
+++ function.c  5 Oct 2006 12:32:13 -0000       1.3
@@ -1685,7 +1685,8 @@
       free ((char *) command_argv);

       /* Close the write side of the pipe.  */
-      (void) close (pipedes[1]);
+      if (pipedes[1] >= 0)
+        (void) close (pipedes[1]);

       /* Set up and read from the pipe.  */

This fixes it for me, but is not necessarily getting to the root of the


Cambridge Technology Consultants 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]