Indeed...  I've added some debug hacks to make sure that all signals are
masked except inside select().  But as you suggest, this doesn't resolve
the problem.

I also added some printfs, and I've managed to observe that when the
problem occurs, init wakes up out of select OK (suggesting a signal was
delivered successfully, and so the main loop should also resume).

The use of waitid looks OK, and as you say, the way the interrupt pipe
is used means it should not be possible to stall in select if another
child has exited in the meantime.

The cause of the problem itself remains a bit of a mystery though...

-- 
init stops respawning terminal logins after while
https://bugs.launchpad.net/bugs/347205
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to