[distcc] distcc 0.13 released
Ajay Agrawalla
aagrawalla at hyperchip.com
Tue Nov 12 23:42:02 GMT 2002
I have been using this now regularly. The way it is now... that u can't
concurrently compile on more then 4 hosts. The dcc_lock_local("compiler")
method blocks when 4 jobs are compiling... I am hacking the lock.c file
and setting to slot of localhost to 10 to get upto 10 host..
May be what needs to be done is check .. if the lock request is on localhost
and the job to be run is a remote job then don;t wait// something like that/
I haven't thought much abt it..
aj
-----Original Message-----
From: Martin Pool [mailto:mbp at samba.org]
Sent: Tuesday, November 12, 2002 2:54 AM
To: distcc at samba.org
Subject: [distcc] distcc 0.13 released
A new version of distcc has been released, with many changes intended
to improve robustness and make it work more reliably in more systems
and build environments. Thankyou to all those who contributed
patches, suggestions, or reports.
distcc-0.13 "Armistice" 2002-11-11
FEATURES:
* New --no-detach option to cause the server not to detach from its
parent. It still forks normally when a connection is accepted. This
may be useful with daemontools or other frameworks that prefer the
daemon not to detach. (Martin Pool)
* Log messages on the server of severity "warning" or higher are
captured
and sent back to the client. (Martin Pool)
* If the local preprocessor fails, do not re-run the job locally because
it would presumably fail in the same way. (Martin Pool)
* By default, the client only sends "warning" or higher messages to
stderr, so that nothing extra is logged unless there is possibly a
failure in distcc itself. With a DISTCC_LOG file, "notices" and
higher
are logged. (Martin Pool)
* Better messages when a compiler exits or crashes. (Martin Pool)
* If the compiler because of a signal, return 128+SIGNAL, per Unix
convention. (Martin Pool)
* Compilers and preprocessors are now run in their own process groups,
and
terminated if the daemon is killed. (Martin Pool)
* When the daemon parent is terminated, it does not kill all its
children.
Instead, they're allowed to finish whatever they're working on, and
then
exit. This allows for more graceful shutdown. (Martin Pool)
* More specific exit codes for some error cases. Don't panic. (Martin
Pool)
* Include popt library and --with-included-popt configure option to aid
installation on systems that don't have it. By default it is
statically
linked in only if the build machine does not have a suitable library
and
header. (Martin Pool)
REMOVALS:
* Remove support for feeding the compiler from a fifo. The gain from
using fifos does not seem to justify the maintenance burden. (Martin
Pool)
- This makes the behaviour more consistent, because some platforms
(Cygwin) or filesystems (NFS, strangely) can't use fifos. It
removes
a code path and a slightly complex autodetection.
- Using fifos makes some potential scheduling improvements hard: the
server can't make good decisions about how many tasks to run,
because
each one will only use a fraction of the CPU. The client cannot
serialize file transmission, which would probably be desirable.
- Using fifos makes reliably handling compiler failures slightly
harder: the compiler may crash or exit at any time, which will in
turn cause the server to hang if it later tries to open or write to
the fifo. In previous versions, distcc tried to handle this by
catching SIGCHLD when the child terminated, and aborting the
operation, but I am not sure that the method is completely
reliable.
BUG FIXES:
* Detached daemon now ignores hangup signal. (Martin Pool)
* When the parent is terminated, don't kill its process group. Allow
children to finish in their own time. (Martin Pool)
* Detect the case where cpp claims to have succeeded, but did not
actually
produce any output. (Martin Pool)
* Do not use atexit() to clean up temporary files, because this can
cause
havoc if it's ever called from a child process that forked but failed
to
exec. (Martin Pool)
* Handle "gcc -S foo.c -o -", which ought to write assembly to stdout.
(Alexandre Oliva)
* Fix bug in handling IO errors (e.g. dropped connection) in the server.
(Martin Pool)
* If we fail to cork a socket, continue anyhow. (Martin Pool)
* Make error handling for IO more consistent. (Martin Pool)
* Follow Unix convention of returning 128+SIGNAL if the compiler exits
with a signal. (Martin Pool)
TESTING:
* Add tests for parsing slot limit from host specification. (Martin
Pool)
* Daemon tests collect dead servers faster, so the tests run a bit
faster. (Martin Pool)
* Nicer handling of ^C while running tests: print "INTERRUPT" and
terminate the whole test. (Martin Pool)
* Add new tests for scanning command lines with an implied compiler
name.
(Martin Pool)
* When the parent is terminated, don't kill its process group. Allow
children to finish in their own time. (Martin Pool)
* Detect the case where cpp claims to have succeeded, but did not
actually
produce any output. (Martin Pool)
* Add test case for #error directive. (Martin Pool)
* Add test case for preprocessing non-C text, as is done by (for
example)
xrdb. (Martin Pool)
* Add test case for invocations like "distcc -c test1.c test2.c".
(Martin Pool)
* Add test for handling of a compiler missing from the server. (Martin
Pool)
* Allow distcc's version to be set to something like "0.13cvs-nofifo".
(Martin Pool)
* Add test for handling of a compiler missing from the server. (Martin
Pool)
* Improved ComfyChair testing framework. (Tim Potter, Martin Pool)
PORTABILITY:
* Includes example init.d script for SuSE 7.x and 8.0. Not installed by
default. (Brandon Forehand)
DOCUMENTATION:
* Document use with Gentoo Linux. (Dean Bailey, Ernesto, Martin Pool)
INTERNAL:
* Get rid of recursive Make and fix various small Makefile bugs.
(Martin
Pool)
* Add $(TARGET_ROOT) variable for "make install", for use in building
binary packages. (Martin Pool, Nick Moffitt)
* wait4() on Solaris can't handle a pid of -1, which means "any child"
on
Linux and BSD. Use pid of 0 instead to collect any children from the
same process group. (Kevin Bailey)
* Client does not abruptly drop network connection on compiler failure
but
rather reads the 0-byte object file token. (Martin Pool)
* Rework logger library to allow multiple logger callbacks to be active
at
once. This is used for the server, which can write to its own log
files
and also send a copy of messages to a buffer to be sent to the client.
(Martin Pool)
--
Martin
_______________________________________________
distcc mailing list
distcc at lists.samba.org
http://lists.samba.org/cgi-bin/mailman/listinfo/distcc
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the distcc
mailing list