Ah, I got it. The documentation of udev_monitor_receive_device() says
"The monitor socket is by default set to NONBLOCK. A variant of poll()
on the file descriptor returned by udev_monitor_get_fd() should to be
used to wake up when new devices arrive, or alternatively the file
descriptor switched into blocking mode."
However, wait-for-root does
while ((udev_device = udev_monitor_receive_device
(udev_monitor)) != NULL) {
and then just exits. So switching the socket to blocking is indeed the
right answer here.
** Changed in: initramfs-tools (Ubuntu)
Importance: Undecided => Critical
** Changed in: initramfs-tools (Ubuntu)
Status: New => In Progress
** Changed in: initramfs-tools (Ubuntu)
Assignee: (unassigned) => Martin Pitt (pitti)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1154813
Title:
Boot broken with initramfs-tools 0.103ubuntu0.5b1 - wait-for-root
doesn't wait
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1154813/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs