Re: [PATCH 09/14] Use the asyncronous function infrastructure in builtin-fetch-pack.c.
- From
Johannes Sixt <johannes.sixt@telecom.at>
- Date
- Oct 20, 2007, 18:22 UTC
- Message-ID
- <200710202022.33782.johannes.sixt@telecom.at>
- In-Reply-To
- <20071020025352.GA6569@spearce.org>
On Saturday 20 October 2007 04:53, Shawn O. Pearce wrote:
Show 18 quoted lines
> > diff --git a/builtin-fetch-pack.c b/builtin-fetch-pack.c
> > index 871b704..51d8a32 100644
> > --- a/builtin-fetch-pack.c
> > +++ b/builtin-fetch-pack.c
> > @@ -457,42 +457,37 @@ static int everything_local(struct ref **refs, int
> > nr_match, char **match) return retval;
> > }
> >
> > -static pid_t setup_sideband(int fd[2], int xd[2])
> > +static int sideband_demux(int fd, void *data)
> > {
> > - pid_t side_pid;
> > + int *xd = data;
> >
> > + close(xd[1]);
>
> If this is a threaded start_async() system this close is going
> to impact the caller.Yes, I noticed this, too. I think that a solution calls for a member .in of struct async analogous to .in of struct child_process.
How do we continue from here? Could you park the series in pu so that I don't have to resend if it turns out that the fix is just another followup patch (which is how I'd prefer to solve the issue)? Then I tell you no or go after I have it tested on mingw.git.
-- Hannes