Re: udev: Why non-blocking poll() with blocking recvmsg()?

Tetsuo Handa <[email protected]>
Newsgroups gmane.linux.hotplug.devel
Message-ID <[email protected]>
Hello Martin.

Martin Pitt wrote:
> > Although wait-for-root uses blocking socket, udev_monitor_receive_device() sometimes
> > immediately returns NULL.
> 
> It *assumed* a blocking socket, but didn't make sure that it actually
> was. Originally libudev used blocking sockets, but at some point [1]
> this was switched to non-blocking by default, and wait-for-root needed
> to be adjusted to that. Please see https://launchpad.net/bugs/1154813,
> it's fixed in newer Ubuntu releases.

Yes, I have checked LP #1154813. But I think that my case is different.
I'm using Ubuntu 12.04 (Precise Pangolin), not Ubuntu 13.04 (Raring Ringtail);
I think [1] is not yet applied as of Ubuntu 12.04.

What #1154813 solves is that "make sure that udev_monitor_receive_device()
called by wait-for-root waits for event at recvmsg()".

What I'm talking is that "udev_monitor_receive_device() called by wait-for-root
does not wait for next event at poll() whereas it waits for first event at
recvmsg()".
--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.