delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/02/19/11:02:14

From: Richard Dawe <richdawe AT bigfoot DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: virtual MUltiCPU - compiling on more than one computer
Date: Sat, 19 Feb 2000 00:01:55 +0000
Organization: Customer of Planet Online
Lines: 42
Message-ID: <38ADDD73.DAE9E845@bigfoot.com>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 1000217104944 DOT 20415W-100000 AT is>
NNTP-Posting-Host: modem-149.tin.dialup.pol.co.uk
Mime-Version: 1.0
X-Trace: newsg4.svr.pol.co.uk 950960532 3222 62.136.41.149 (19 Feb 2000 11:42:12 GMT)
NNTP-Posting-Date: 19 Feb 2000 11:42:12 GMT
X-Complaints-To: abuse AT theplanet DOT net
X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.14 i586)
X-Accept-Language: de,fr
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Hello.

Eli Zaretskii wrote:
> leon wrote:
<snip>
> > It is possible then for make to run multiple compilers on SINGLE
> > system with multi CPU - that is certainly an advantage.
<snip>
> We could make it work on Windows (by using the START command), but we'd
> need to solve the problem of communications between Make and its
> children, since START launches a separate Virtual Machine, and
> communications between VMs are tricky for DOS programs.

What form of communication does make use to communicate between different
processes? I ask this because you could probably use the Unix domain
socket support in the development version of libsocket to communicate the
DOS boxes. Here's how I envisage it working:

1. Master make creates a datagram Unix domain socket for co-ordinating
makes, e.g. with a name like /tmp/make/<pid>

[ Note that the namespace used by libsocket Unix domain sockets is
  separate to the filesystem namespace. ]

2. Master make "starts" a child make, passing it the Unix domain socket
path as a command-line argument.

3. Child make creates a datagram Unix domain socket for communication with
master make.

4. Child make informs master make of the address of its Unix domain
socket.

5. Master make spawns off lots of children using steps 1-4.

How easy would it be to add this to make?

Bye,

-- 
Richard Dawe
richdawe AT bigfoot DOT com ICQ 47595498 http://www.bigfoot.com/~richdawe/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019