Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Do not call udevadm settle, only Debian uses this
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
- Loading branch information
8f05b36
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@troglobit Something new when i replaced evdev with libinput:
I found that pulseaudio is possibly not broke by
settle
, but my xorg.(You know musl does not support "RTLD_LAZY"...etc) Now, it worked aftersettle
. I addedAutoadddevices false
to my xorg config file. I don't know why, but it just worked....And also worked well ifsettle
was not executed.Anyway when
settle
is executed, something may just go wrong without any warning. And without it, almost no damages(trigger
is synced...it will not release the control until finished...on my computer, it cost 0.1 sec...the only situation i can imagine usefully is that you have hundreds of divices plugged in...of course you will need to recheck it).I suggested that it should be added in
rc.local
or something else that can be modified easily, not add it there. Maybe we could write it in doc to remind someone who knows nothing about this. Let distros themselves decide whether they shouldsettle
or not.And the list of distros i investigated:
EDIT: settle has nothing to do with socket or something else. It's a wait() for udev events... U can check udev's status by running it.exit when timeout...
8f05b36
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update!
(No, I didn't know about the missing support for RTLD_LAZY, good to know!)
I agree with you that the
settle
call should probably be executed early in the user's/etc/finit.conf
instead. Many of the things done early could possibly be moved to runlevel [S] in/etc/finit.conf
.I'll make sure to update the docs instead, was thinking about adding a section about mdev vs udev based systems anyway.
8f05b36
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@troglobit update:
udevd[xxx]: No such file or ....
in dmesg.Trigger is enough for systemd to coldplug all devices. But i found xorg can't work with udev. And finally i got a look at gentoo's script, found that:
udevadm trigger --attr-match=dev --action=add;udevadm trigger --subsystem-match=net --action=add yes, this is needed on eudev, either.
8f05b36
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I mention in #49, I have no way of testing with eudev at the moment, so you're on your own with this one for the time being. Your patches to eudev do look good to me though.