tags 156161 wontfix thanks On Mon, 2003-08-25 at 17:43, Goswin von Brederlow wrote: > The existence of starts scripts alone is sufficient to get the right > behaviour: > > old level | new level | affect > ----------+-----------+-------- > | | no change (if it runs don't kill it) > has start | | stop service > | has start | start service > has start | has start | no change (if it doesn't run, don't start it)
It doesn't actually suffice because the K symlinks also control the order in which services are stopped. But I get your point. You have shown that one can put a service into "manually controlled" mode simply by setting all its symlinks to K. Then switching among runlevels never starts or stops the service. The presence of a K symlink really signifies the disjunction: either the service is not running or it was started manually. Implementing "manually controlled" mode this way works fine until you do something (such as a package restart on upgrade) that resets the service to the state corresponding to the symlink. If we had try-restart implemented everywhere then we wouldn't need a third state (besides S and K) to inhibit inappropriate restarts. And even if we have the third state, we still need try-restart in order to restart services that have been started manually. So you have convinced me that we don't need this third state and invoke-rc.d doesn't need to be changed; we should simply try to get try-restart implemented. -- Thomas