I have a logger supervised by the very s6-svscan instance it logs through the fifo trick. Now sending SIGTERM to the s6-svscan process won't work, since it waits for the logger forever, which in turn waits for s6-svscan to close the fifo.
There is no good solution to this. s6-svscan, the catch-all logger's s6-supervise, and the catch-all logger, are codependent. This is why the construct should only be done once, for the root supervision tree, and the catch-all logger never needs to be killed. (It logs to a RAM filesystem so its existence does not prevent any unmounting.)
Since this is not the main supervision tree, I require the ability to stop this instance of s6-svscan.
If this is not the main supervision tree, there is no reason for you to use the fifo trick and have the s6-svscan log to something under itself. Start the inner s6-svscan as a regular service, with a logger that is supervised by the *outer* supervision tree. -- Laurent