Subject: Re: bug#9264: 24.0.50; (file-error "Creating process pipe" "no error")

From: Eli Zaretskii <[email-masked]>
Date: Thu, 11 Aug 2011 06:34:48 -0400

> From: William Xu <[email-masked]>
> Date: Thu, 11 Aug 2011 16:25:31 +0800
> 
>          if (phandles[0] >= MAXDESC || phandles[1] >= MAXDESC)
>        {
>          _close (phandles[0]);
>          _close (phandles[1]);
>          rc = -1;
>        }
> 
>    If the latter, it sounds like we are not closing the file handles
>    somewhere.
> 
> I put a printf after "rc = -1".  I can see lots of logs from there.
> _pipe never returns a negative value.

We are close.  This probably means that we are not closing file
descriptors somewhere.  When these printf's about rc == -1 start to
appear, can you look at all the elements of the fd_info[] array (there
are 64 of them), and see which flags are set on most of the elements,
and whether or not the `cp' member is non-NULL?  This information
might give a clue as to what functionality is stealing the file
descriptors and not releasing them.

Thanks.