This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [cs branch] how to start compile server?
- From: Ian Lance Taylor <ian at airs dot com>
- To: Mike Stump <mrs at apple dot com>
- Cc: Per Bothner <per at bothner dot com>, GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: 28 Aug 2003 15:52:43 -0700
- Subject: Re: [cs branch] how to start compile server?
- References: <890140CC-D99E-11D7-885D-003065A77310@apple.com>
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