[distcc] [PATCH] retry compiling when remote gcc was killed by signal

Jakub Stachowski qbast at go2.pl
Mon Jul 12 19:54:45 GMT 2004


Hello,

I noticed that return codes > 128 (which means that compiler was killed by 
signal) is treated exactly as normal compilation error. However, killing 
compiler indicates problems with system (in most cases not enough memory) or 
compiler itself, not with source code. So there is still chance that retrying 
compilation on local machine will succeed. Typical example: I compile KDE 
(lots of big c++ files) on several machines with 64-128MB of RAM ('localhost' 
has 512MB RAM). I use distccKnoppix so there is no possibility to use swap on 
these machines. Sometimes one of them run out of memory and gcc gets killed 
and make finishes with error. Then I have to restart make with -j1 (to build 
offending file on localhost as it has enough RAM), then restart it again with 
-j8 and hope for the best.

 Attached simple patch treats remote errors caused by killed compiler as 
distribution errors. This means that distcc will fallback to local 
compilation of offending file and problematic host will get blacklisted for a 
minute.


	Greetings, Jakub


-------------- next part --------------
A non-text attachment was scrubbed...
Name: distcc.patch
Type: text/x-diff
Size: 446 bytes
Desc: not available
Url : http://lists.samba.org/archive/distcc/attachments/20040712/33f52348/distcc.bin


More information about the distcc mailing list