[distcc] --no-fork

Perochon Sebastien Sebastien.Perochon at mmarelli-se.com
Tue Feb 15 09:06:15 GMT 2005


  Hi Martin,

You're right. I made a mistake. I wanted to speak about the fork done for
each compilation.
I found a comment in the file "Exec.c" (about line 40) about fork:

 * @todo On Cygwin, fork() must be emulated and therefore will be
 * slow.  It would be faster to just use their spawn() call, rather
 * than fork/exec.

Is someone working on this ?

Thanks,
Sebastien.

-----Message d'origine-----
De: Martin Pool [mailto:mbp at sourcefrog.net]
Date: lundi 14 février 2005 22:00
À: Perochon Sebastien
Cc: distcc at lists.samba.org
Objet: Re: [distcc] --no-fork


On 14 Feb 2005, Perochon Sebastien <Sebastien.Perochon at mmarelli-se.com>
wrote:

> --no-fork 
> Don't fork children for each connection, to allow attaching gdb. Don't use
> this if you don't understand it!

You can use it if you want, but it will limit the server to processing
only one job at a time.  On a single processor machine that may be fine.

> Tests have shown that using distcc under cygwin is not as powerful as
under
> linux mainly because of the use of "fork".

What about the use of fork?  If the problem is that fork is slow, then
using --no-fork should not make much difference because the forking
happens only at startup and then every hundred jobs or so.

If fork is a problem, it would be more useful to replace the forks
which happen for each compilation.  Is there a more efficient way to
launch tasks in Cygwin?

--
Martin


More information about the distcc mailing list