Many times after starting make I have wished that I started it with more parallel jobs than I did. A few time I have also wished that I started make with fewer parallel jobs.
The attached patch allows you to send SIGUSR2 to your top level make process to add one more parallel job. Once a SIGUSR2 is received the functionality of SIGUSR1 also changes from toggling debug output to decrease the number of jobs by 1. No running job will be killed, but when the next target is finished one less job will be started again. If make was started with parallel jobs SIGUSR2 will immediately increase the number of jobs with one. If make was started without -j SIGUSR2 will not cause make to work in parallel until the current target is finished. The patch was written against latest from git, but also works with latest stable version 4.2.1. My intention has been to make the patch work with both Unix and Windows, but unfortunately I have no Windows machine to test with. I'm not even sure if Windows supports bsd signals. If not, my changes to w32/w32os.c should better be undone. I hope that you will find my patch useful and that it somehow will make it into upcoming stable releases of make. Please feel free to discuss improvements of the patch, I have subscribed to this mailing list. regards Henrik
signal_num_jobs2.patch
Description: Binary data
_______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make