CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]   2009/05/10 05:07:37

Modified files:
        usr.bin/make   : compat.c engine.c engine.h job.c job.h make.c 

Log message:
simplify job handling a great deal: we don't care when jobs get
stopped/continued, as we won't try to start new jobs when other stuff
is stopped.

Redo signal handling so that most stuff can be done directly in the handler.
This requires blocking/unblocking signals while creating new jobs, and creating
a small list that only contains job's pids.

Switch to pgrps for jobs, since that works.

Add a clamping heuristic that avoids starting new jobs while an expensive job
is running (expensive meaning "very likely to be a recursive make run"). This
idea is mostly from Theo, through the implementation is mine.

Reply via email to