Hmmm, on closer inspection you seem to be right. Apologies for the confusion.
$ cat /proc/1/wchan do_select I assumed that this was evidence that pselect was being used, since on ARM, select is currently used to implement pselect. However, now I've taken a look at the upstart source code, it looks like it uses ordinary select() with the self-pipe signalling trick which was needed on older systems. This makes sense, because although pselect has been in glibc for quite a while, there is a long history if it being broken which was only fixed in the Linux kernel fairly recently. And of course, it's still broken on ARM :( grep finds no pselect, ppoll or epoll_pwait in the upstart source, and it does not look like upstart is using fancy external libraries which might do these on its behalf. init does still seem to stall occasionally, but there must be some other reason... I'm now rather mystified as to what's the cause could be... Is the code in places like nih/main.c new, or inherited from the old sysvinit sources? If it's new, perhaps there are some bugs which have not been worked out, but otherwise it's less likely, since sysvinit is so old anyway this kind of thing would almost certainly have got fixed by now. -- 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 [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
