This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [cs branch] how to start compile server?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]