[cs branch] how to start compile server?
Ian Lance Taylor
ian@airs.com
Fri Aug 29 04:31:00 GMT 2003
Mike Stump <mrs@apple.com> writes:
> The distcc
> project is the one that is managing connections, we don't want to
> replicate or handle anything that they solve. They are the ones that
> needs the security model, the inetd wiring and so on. We'll just use
> anything they do.
Sure, and note that distcc does not add any networking code to gcc
itself. distcc is a separate program. That is more or less what I am
suggesting that you do now: make the network handling a separate
program. Make the code that is in gcc as simple as possible--to me
that means use stdin/stdout rather than any networking code.
> I reviewed what xinetd brings, and it doesn't bring anything that we
> ever intend to solve, we'll except maybe managing starting up and
> sharing at most 2 servers, plus, it didn't look like it would manage
> unix domain sockets?
You are correct: xinetd doesn't manage Unix domain sockets, and
doesn't help you at this stage of the game. I only mentioned xinetd
as an example of a server manager.
To be pedantically clear, I'm not suggesting that you stop using Unix
domain sockets, or that you start using xinetd/tcpserver, or anything
like that. I'm suggesting that you change cc1-server to use
stdin/stdout, and that you write a separate program to open a Unix
domain socket and exec cc1-server. This divorces the compile server
implementation from any networking considerations, and makes it easy
for anybody to experiment with other ways to invoke the compile
server.
Ian
More information about the Gcc
mailing list