OK, I'm an idiot.
That fix is not the correct fix at all - I mean, the functionality doesn't hurt, but killing the catch-all logger is never the right thing, because you never know what might still be writing to it. The catch-all logger should be allowed to exit on its own, always. And the problem is that it just won't do that, because it has a supervisor (which won't die until the logger dies) that has a fd open to the fifo, so s6-log never gets EOF. ... even when there's no more work to do, those two morons keep each other alive. The correct fix is to add a "close your descriptors as soon as you're told to exit" switch to s6-supervise. Sigh. If something so simple is so hard to get right, I don't want to touch anything complicated, *ever*. -- Laurent
