Age | Commit message (Collapse) | Author |
|
Avoid double logs printing. Not that we don't return
manager_update_global_progress() to the handler callback as if the console or
plymouth isn't available momentarily, we still desire to handle future
fd progress events if those are available again (like cancellation, reports…)
|
|
We don't want to keep /dev/console open all the time, but only open it when
needed, to avoid interfering with SAK.
|
|
|
|
just a typo fix
|
|
Usually when using loop_read(), we want to read the full buffer.
Add a helper that mirrors loop_write(), and returns 0 when full buffer
was read, and an error otherwise.
Use -ENODATA for the short read, to distinguish it from a read error.
|
|
Introduced a few commits ago.
|
|
|
|
audit.h uses uint32_t and bool.
log.h uses abs.
|
|
It is more elegant to do this in one step.
Coverity complains about the TOCTOU difference, but it is not an
actual problem (CID #1237777).
|
|
Introduced in fa6ac76083b8ff.
Might be related to CID #1261724, but I don't know if coverity can
recurse this deep.
|
|
|
|
|
|
This should have been committed with
udev_device_add_property - implicitly mark properties for saving to db
|
|
|
|
Properties should only be saved to the db when added to the udev_device by udevd, and only if
the property does not start with a '.'. Make this implicit rather than expose the marking of
properties.
|
|
This should be internal to the library as it is only about reflecting the sysfs state in the udev_device.
|
|
|
|
This essentially replaces
open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_TRUNC|O_NOFOLLOW, 0444)
with
open("/run/udev/queue", O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, 0644),
which is ok for our purposes.
|
|
|
|
Also rename r to buf, since r is customarily reserved for the return value.
|
|
I'm pretty sure that this is what was meant here.
|
|
|
|
Fix return value if unlink fails.
|
|
If the highlighted line did not move outside of the visible
region, it should not be necessary to update idx_last.
CID #1287137, #1287138.
|
|
|
|
|
|
|
|
connection fd
|
|
|
|
|
|
Let's clean up the function naming scheme and put the object they
operate on first in the name, the way OO programming usually does it.
Also, let's make sure can properly destroy half-initialized Manager
objects.
|
|
|
|
|
|
|
|
- the even source should not be freed before the fd for it is closed
- read() returns an ssize_t and we need to handle it as such
- properly handle errors from read()
- reuse on_plymouth_disconnect() whenever we disconnect from plymouth,
and rename it plymouth_disconnect hence()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also, we don't use {} for single-line if-blocks.
|
|
|
|
|
|
|
|
Also, expose it in machinectl.
|
|
|
|
|
|
The udev-settle guarantees that udevd is no longer processing any of the
events casued by udev-trigger. The way this works is that it sends a
synchronous PING to udevd after udev-trigger has ran, and when that returns
it knows that udevd has started processing the events from udev-trigger.
udev-settle will then wait for the event queue to empty before returning.
However, there was a race here, as we would only update the /run state at
the beginning of the event loop, before reading out new events and before
processing the ping.
That means that if the first uevent arrived in the same event-loop iteration
as the PING, we would return the ping before updating the queue state in /run
(which would happen on the next iteration).
The race window here is tiny (as the /run state would probably get updated
before udev-settle got a chance to read /run), but still a possibility.
Fix the problem by updating the /run state as the last step before returning
the PING.
We must still update it at the beginning of the loop as well, otherwise we
risk being stuck in poll() with a stale state in /run.
Reported-by: Daniel Drake <drake@endlessm.com>
|
|
This is necessary to build with older kernel headers. NDA_VLAN was
introduced in v3.9 and NDA_PORT, NDA_VNI and NDA_IFINDEX in v3.10
|