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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux