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