[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 |
Hi,
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]);
#endif
/* Set up and read from the pipe. */
This fixes it for me, but is not necessarily getting to the root of the
problem.
Cheers,
John
--
Cambridge Technology Consultants
www.camtechconsultants.com
- Crash with recursive make,
John Hall <=