On 06/09/2017 01:38 AM, Andreas Weigel wrote: > The > overall idea was to make the decision to create and manage kids to > depend on the number of configured workers/diskers.
It feels like you may be drifting into a dangerous territory of fixing/changing "everything" related to SMP. Please stay focused on fixing --foreground! Fixing --foreground does not change how or whether kids are created and managed. It only changes who does that. > But I start to think > that this is not very wise because it prevents adding worker processes > by just reloading the configuration? When daemonized, Squid master process does not support reconfiguration at all. There are plans to change that, but those difficult changes are completely outside your project scope. >> * -N: The initial process is a master and a worker process. >> No kids. >> No daemonimization. >> >> * --foreground: The initial process is the master process. >> One or more worker kids (depending on workers=N). >> No daemonimization. >> >> * neither: The initial process double-forks the master process. >> One or more worker kids (depending on workers=N). >> Daemonimization. > I think I can agree to that. Great. Please limit your changes to making the above true. AFAICT, that means fixing --foreground. Everything else is already working as expected as far as the above summary is concerned. There are many other bugs in that area, especially in v3.5, but you need to ignore them to succeed. > And [-N] should definitely not be termed "no daemon"-mode, as > that is what --foreground will probably do in the future. You may be right, but I would _not_ change that terminology now because all the renaming will obfuscate your true fix and make it more difficult to understand/review. It may also preclude v3.5 acceptance. > What I get from http://bugs.squid-cache.org/show_bug.cgi?id=3826#c40 is, > that the mentioned setup works because systemd broadcasts > (KillMode=mixed) the signals to all child processes. From design point of view, Squid should not rely on 3rd party applications sending signals to kids. If such broadcast works today in some environment, great, but this is not a part of Squid interface. As far as signaling is concerned, Squid interface is the PID file. All signals should be sent to the process listed there. Everything else is unsupported. Alex. _______________________________________________ squid-dev mailing list [email protected] http://lists.squid-cache.org/listinfo/squid-dev
