Age | Commit message (Collapse) | Author |
|
|
|
This reverts commit 75e930ed64b62ac7e684cbe3493963371904d55b.
This fixes issue #121.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
We should not be receiving these anyway, but let's be correct.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
While usptream doesn't support a static libudev.a, we will try to
do so. However, mkdir_p() is used in lvm2 and util-linux, so
to avoid the collision, we rename it to udev_mkdir_p(). See:
https://bugs.gentoo.org/show_bug.cgi?id=520450
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
The original upstream commit is at
http://cgit.freedesktop.org/systemd/systemd/commit/?id=107f2e2526d476c6cc9b81a690391c111027d641
This was reworked by Chris Clayton for eudev.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This reverts commit b2399d9b7222abe7db8ab4bc16e0efe3ccae4c42.
This solves issue #108. While upstream also reverted this commit,
they did so using functions in terminal-util.c. We could import
that file and those functions but for such a small commit, its not
worth it. We may do so at some future time if there are further
gains. See:
https://github.com/systemd/systemd/commit/40e749b59ba49fb97c1f45859debe2a82bc9c9ef
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
The original code used fread(), which on some libc implementions
(ie glibc 2.17) would pre-read a full 4K (PAGE_SIZE) of the
PCI config space, when only 64 bytes were requested.
I have recently come across PCIe hardware which responds with
Completion Timeouts when accesses above 256 bytes are attempted.
This can cause server systems with GHES/AEPI support to cause
and immediate kernel panic due to the failed PCI transaction.
This change replaces the buffered fread() with an explict
unbuffered read() of 64 bytes, which corrects this issue by
only reading the guaranteed first 64 bytes of PCIe config space.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Makes it a bit clearer what is going on, rather than jumping to the end of main().
No functional change.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
EAGAIN means there are no more messages to read, so give up. EINTR means we got interrupted
reading a message, so try again.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
When notifying the main daemon about event completion, make sure the message is sent
successfully, and not interrupted.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Bring this in line with the rest of the codebase.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This avoids updating the flag files twice for every loop, and also removes another dependency
in the main-loop, so we are freer to reshufle it as we want.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This allows us to simplify the ctrl_msg handler. Eventually all this global state should move to
a Manager object or so.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Simply query the size of the hashmap keeping all the worker contexts instead.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This makes the code somewhat more readable.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Make the worker context have the same life-span as the worker process. It is created on fork()
and free'd on SIGCHLD.
The change means that we can get worker_returned() for a worker context that is no longer around,
this is not a problem and we can just drop the message. The only use for worker_returned() is to
know to reschedule events to workers that are still around, so if the worker has already exited
it is not important to keep track of. We still print a debug statement in this case to be on the
safe side.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Eeeew!
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Follow the coding style and avoid the exit handlers.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
We never return magic exit codes, but just EXIT_FAILUER or EXIT_SUCCESS.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Take and drop explicit references where it makes sense.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
This is not used in the worker, so avoid having to free it there.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
We used to use this to track failed events so they could be retriggered,
but that is no longer done, so the code can be dropped.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
If the main daemon is not notified about a worker finishing an event
the refcounting of the worker struct will be wrong, and we will lose
track of the number of children we have to wait for.
This should not happen, but if it does we better complain loudly about
it. Worst case udev will wait for 30 seconsd at shutdown waiting for
nonexistent workers.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
No need to include this explicitly, just use SCM_CREDENTIALS.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
We should not be receiving these anyway, but let's be correct.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Remove some redundant logging, and reduce the log-level in most cases. The only
case that is really critical is if a worker failed while hanlding an event, so
keep that at error level.
|
|
The old tags are read from the db when deciding which tags to clear,
make sure we don't write out the new db before the old one has been
read.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
When running udevadm settle --timeout=0, the ping always times out, and
udevadm will return 0 without checking the queue state.
(David: Use a reasonable timeout to still get the barrier provided by
ctrl-ping)
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Let's make Coverity happy about this one.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
udevadm manual says:
A value of 0 will check if the queue is empty and always return
immediately.
However, currently we ignore the deadline if the value is 0, and wait
without any limit.
Zero timeout behaved according to the documentation until commit
ead7c62ab7 (udevadm: settle - kill alarm()). Looking at this patch, it
seems that the behavior change was unintended.
This patch restores the documented behavior.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Fix for 4beac74e69.
Thanks, Ronny!
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=89885
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
The Trust TB7300 (relabelled Waltop?) tablet has a scrollwheel which shows
up as a /dev/input/event# node all by itself. Currently input_id does not
set any ID_INPUT_FOO attr on this causing it it to not be recognized by
Xorg / libinput.
This commit fixes this by marking it with ID_INPUT_KEY.
Reported-by: Sjoerd Timmer <themba@randomdata.nl>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Make test_pointer / test_keys return a boolean indicating whether or not
they've set any properties on the device.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
Remove whitespaces before opening parentheses, mostly before test_bit.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|
|
IBM / Lenovo trackpoints allow specifying a sensitivity setting through a
ps/2 command, which changes the range of the deltas sent when using the
trackpoint.
On some models with normal usage only deltas of 1 or 2 are send, resulting in
there only being 2 mouse cursor movement speeds, rather than the expected fluid
scale. Changing the sensitivity to a higher level than the bootup default fixes
this.
This commit adds support for setting a POINTINGSTICK_SENSITIVITY value
in hwdb to allow changing the sensitivity on boot through udev / hwdb.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
|