On 10/05/2015 00:07, Guillermo wrote:
I ran into this while experimenting with the example / template stage
1 and 3 init scripts that come with s6's source code. Both of them do
an early fdclose 0 to ignore input. Wouldn't that be tempting the
demons to fly through your nose, then? :)

 Know that I precisely audited the whole series of programs running
with 0, 1 and 2 closed in those stages before answering you. And
there's no risk there, it works. :)
 (In stage 3, you can replace "fdclose 0" with "redirfd -r 0 /dev/null"
and it will be conformant. No such easy way out in stage 1, though,
if you want to change /dev after the kernel has mounted it. Note that
you don't have to do that if you're using devtmpfs and keeping it.)

Anyway, I had either replaced the early fdclose 0 with redirfd -r 0
/dev/null (and also realized that worked by accident, because I
somehow have a nonempty /dev at startup) or delayed it a bit. I
suppose that's good enough...

 Did you really manage to umount /dev (maybe) and mount a tmpfs
over it (for sure) with fds still open to the old /dev ? Without
an EBUSY error ? If it's the case, and you're using Linux, then the
kernel's behaviour changed.

--
 Laurent

Reply via email to