On Sat, Apr 11, 2015 at 1:36 PM, David Herrmann <dh.herrm...@gmail.com> wrote:
> > @@ -139,6 +142,9 @@ static int adm_settle(struct udev *udev, int argc, char 
> > *argv[]) {
> >                          break;
> >                  }
> >
> > +                if (now(CLOCK_MONOTONIC) >= deadline)
> > +                        break;
> > +
>
> Previous udevadm allowed timeout=0 to disable this. I added the condition.

Hi David,

I think the handling of timeout=0 is incorrect now. The manual says:

    A value of 0 will check if the queue is empty and always return
    immediately.

In udev-147 (used on rhel6), this was the behavior. If timeout was 0,
is_timeout was set and settle was returning with rc=1.

This behavior changed in:

http://git.kernel.org/cgit/linux/hotplug/udev.git/commit/?id=ead7c62ab7641e150c6d668f939c102a6771ce60

After this commit, zero timeout results in unlimited wait. Since this
patch did not
change the manual or the online help, and the commit message says:
"udevadm: settle - kill alarm()", I guess this was unintended change.

I don't see the use case for disabling the timeout, so it seems that
we should fix
this, restoring the behavior before this commit.

What do you think?
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to