Re: [PATCH] (Updated) Exec git programs without using PATH.

3 messages, 3 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] (Updated) Exec git programs without using PATH.

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:16

Michal Ostrowski [off-list ref] writes:
I briefly tried to consider if I could hide the various fork()+exec()
sequences behind something like the run_command*() interfaces (which
would move us down the direction of something "spawn()"-like).  I found
that there's a lot of variation between the various paths in terms of
what happens between fork() and exec() on the various paths that does
not lend itself to such consolidation.

I'd love to be convinced otherwise.
Unfortunately I am with Michal on this one (both "eh, I do not
think that is feasible" and "I'd love to be...").

The run_command*() interfaces and its users were the best I
could come up with as far as such consolidations could go when I
did it.

Re: [PATCH] (Updated) Exec git programs without using PATH.

From: Andreas Ericsson <hidden>
Date: 2016-06-15 22:42:16

Junio C Hamano wrote:
Michal Ostrowski [off-list ref] writes:

quoted
I briefly tried to consider if I could hide the various fork()+exec()
sequences behind something like the run_command*() interfaces (which
would move us down the direction of something "spawn()"-like).  I found
that there's a lot of variation between the various paths in terms of
what happens between fork() and exec() on the various paths that does
not lend itself to such consolidation.

I'd love to be convinced otherwise.

Unfortunately I am with Michal on this one (both "eh, I do not
think that is feasible" and "I'd love to be...").

The run_command*() interfaces and its users were the best I
could come up with as far as such consolidations could go when I
did it.
Not being entirely knowledgeable on what spawn() actually does and how 
its semantics differ from fork() and exec*() style API's (Google was 
depressingly unhelpful and wikipedia dredged up froglings...), I've got 
a decent "clone-lots-of-processes-and-multiplex-between-them" kind of 
library lying around. Would it be of any use?

 From the prototypes I've seen on spawn it doesn't seem to be much more 
than a fork() + execve(), either closing or dup2'ing all the 
file-descriptors, so I don't understand why that couldn't be implemented 
for git. Some pointers, anyone?

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Re: [PATCH] (Updated) Exec git programs without using PATH.

From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2016-06-15 22:42:16

Andreas Ericsson wrote:
Not being entirely knowledgeable on what spawn() actually does and how 
its semantics differ from fork() and exec*() style API's (Google was 
depressingly unhelpful and wikipedia dredged up froglings...), I've got 
a decent "clone-lots-of-processes-and-multiplex-between-them" kind of 
library lying around. Would it be of any use?

 From the prototypes I've seen on spawn it doesn't seem to be much more 
than a fork() + execve(), either closing or dup2'ing all the 
file-descriptors, so I don't understand why that couldn't be implemented 
for git. Some pointers, anyone?
RTFM(posix_spawn)...

	-hpa
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help