<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I read that when it came out and I believe at least one thing in it was<br>
him quoting me from earlier irc discussions on #musl. :)<br>
<br>
We've been butting heads for years and he _does_ often convince me I'm<br>
wrong. Here's such an example from 2006, you'll note toybox verror_msg()<br>
in lib/lib.c is currently using strerror() instead of %m:<br>
<br>
<a href="http://lists.busybox.net/pipermail/busybox/2006-June/056537.html" target="_blank">http://lists.busybox.net/pipermail/busybox/2006-June/056537.html</a><br>
<br></blockquote><div><br></div><div>Yea, looks like he can be a bit.... stubborn. But (and i hate to say it) when your right, your right and im assuming he was wright (otherwise there would have been another email of you quoting statistics right?) </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
His minimal init isn't that far off from my oneit. (Mine implements<br>
console switching to get a controlling tty for the child process, his<br>
expects the child to do that.)<br>
<br>
A week or two back we were talking about how to get pid 1 to export the<br>
list of PID exits from reparent_to_init():<br>
<br></blockquote><div><br></div><div>I dont remember why but i want to say i didnt jump in because you guys were talking about a level of programming/system processes that was over my head.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<a href="http://lists.landley.net/pipermail/toybox-landley.net/2014-December/003810.html" target="_blank">http://lists.landley.net/pipermail/toybox-landley.net/2014-December/003810.html</a><br>
<br>
If dreamhost ever gets its darn web archive caught up there's more to<br>
that conversation. (I have a really hard time navigating gmane's web<br>
interface to actually _find_ any specific post.)<br>
<br>
I haven't done it yet because I haven't figured out the best way to<br>
export the data. (Writing to a pipe or fifo can block pid 1, not sure<br>
how complicated I want to get trying to avoid that? If the pid 2 it's<br>
talking to goes away or isn't keeping up with the incoming data due to<br>
forkbomb or similar, there isn't actually a _good_ solution. I should<br>
probably just do the simple version first and then wait for it to cause<br>
somebody a problem requiring more code. The potential symptom is<br>
unreaped zombies which isn't immediately game over, so... I guess if you<br>
tell "oneit -f /dev/fifoname" and nobody's reading from it, that's pilot<br>
error in your system setup? Maybe? (And if the program that _should_ be<br>
reading from it is the command oneit ran, then oneit responds to it<br>
exiting by relaunching it or rebooting anyway, so... Hmmm, write with a<br>
timeout? I can do that with poll(), which gets me back to genericizing<br>
the main loop in netcat. And in fact the write with a timeout would be<br>
"oneit -w SECONDS" because it's more or less a "watchdog"... ) Although<br>
if you're saying "I am writing to pid 2" then I could just have fd 3<br>
contain the pipe I'm writing to, the child process can inherit a<br>
filehandle. Dunno if that's cleaner or uglier than<br>
/dev/globallyvisibilefilename<br>
<br>
Anyway, as you can see there's some design work to do...<br>
<span><font color="#888888"><br>
Rob<br>
</font></span></blockquote></div><br></div><div class="gmail_extra">im sure as there are lots of choices in init systems there must be a variety of ways you could set it up. I'm pushing for stability on my system and frankly if i dont like your init i dont have to use it, thats the beauty if linux that i love. But on the other hand I know your not going to implement a full systemd because you and others dont like the "lock in" that it apparently pushes. </div><div class="gmail_extra"><br></div><div class="gmail_extra">your discussing what exactly here? that pid 1 would be the init/reaper and pid 2 would try to retain control of the daemons? </div><div class="gmail_extra"><br></div><div class="gmail_extra">And "a potential side effect is unreaped zombies", But when reading that the daemons are typically backgrounded and expected to report to pid 1 that also sounds like it leaves the system open to allow rogue daemons which either don't get a pid (is that possible?) or decide not to report to pid 1. Im still learning the init process over all and fairly sure everything gets a pid but so far my reading hasn't answered if a backgrounded/daemonized service is forced to report to pid 1/init or not.</div><div class="gmail_extra"><br></div></div>