Lennart Poettering
62b0cbb358
core: use safe_fclose() where appropriate
2018-06-07 13:36:19 +02:00
Lennart Poettering
159f1e7666
core: split out early-boot preset logic into a function of its own
2018-06-07 13:36:19 +02:00
Lennart Poettering
e5ca27b772
udev: add helper udev_device_new_from_stat_rdev()
...
This is a simple wrapper around udev_device_new_from_devnum(), and uses
the data from a struct stat's .st_rdev field to derive the udev_device
object.
2018-06-07 13:36:19 +02:00
Lennart Poettering
34c20ee09f
core: split out device validation from device_found_node()
...
Let's separate the validate step out. Also, let's update some comments
which have long ceased to be true.
No change in behaviour.
2018-06-07 13:36:19 +02:00
Lennart Poettering
485ae697ba
core: rework device_found_node() prototype
...
let's drop the "now" argument, it's exactly what MANAGER_IS_RUNNING()
returns, hence let's use that instead to simplify things.
Moreover, let's change the add/found argument pair to become found/mask,
which allows us to change multiple flags at the same time into opposing
directions, which will be useful later on.
Also, let's change the return type to void. It's a notifier call where
callers will ignore the return value anyway as it is nothing actionable.
Should not change behaviour.
2018-06-07 13:36:19 +02:00
Lennart Poettering
87934b36b1
core: split out reload propagation into its own function
2018-06-07 13:36:19 +02:00
Lennart Poettering
8bb2c8c94d
core: improve error logging a bit
2018-06-07 13:36:19 +02:00
Lennart Poettering
9d4c195c64
core: split out bus initialization from manager_setup()
2018-06-07 13:36:19 +02:00
Lennart Poettering
86cdffd106
core: log when unit_add_dependency() fails for some reason
...
Also, proceed, as there's little we can do in this case.
2018-06-07 13:36:19 +02:00
Lennart Poettering
ea8ec43bb5
core: modernize device_update_description() a bit
2018-06-07 13:36:19 +02:00
Lennart Poettering
43ba7d71e5
core: use device_found_to_string_many() result only on success
2018-06-07 13:36:19 +02:00
Lennart Poettering
6e0f878ee2
core: use FLAGS_SET() macro at one more place
2018-06-07 13:36:19 +02:00
Lennart Poettering
ccd419f0e7
core: modernize device_set_sysfs() a bit
2018-06-07 13:36:19 +02:00
Alessandro Casale
b47837ac41
hwdb: HP ZBook Studio G4 wireless switch
2018-06-07 13:13:47 +02:00
Stefan Schweter
6a1bae8381
man: update url to latest 802.1AB (2016) standard
2018-06-07 10:30:23 +02:00
Lennart Poettering
81474cd4d3
Merge pull request #9208 from keszybz/async-callback-memleak
...
Async callback memleak fix and documentation cleanups
2018-06-07 10:29:05 +02:00
Lennart Poettering
ef43c8b877
Merge pull request #9214 from poettering/systemctl-get-processes-fix
...
two small fixes for systemctl's process tree display
2018-06-07 09:17:01 +02:00
Ivan Shapovalov
35a14d754a
hwdb: Logitech Anywhere MX wheel data ( #9203 )
2018-06-07 08:51:42 +10:00
Zbigniew Jędrzejewski-Szmek
869881a6cb
test-bus-util: add a test for destroy callbacks
2018-06-06 23:01:57 +02:00
Zbigniew Jędrzejewski-Szmek
200bc75db9
shared/bus-util: use the new cleanup functionality to avoid a memleak
...
If the async callbacks didn't get a chance to finish properly, we'd leak
memory.
The output from test-bus-util with additional log line in the callbacks to show
what is happening:
$ build/test-bus-util
/* test_name_async (0) */
Bus test-bus: changing state UNSET → OPENING
Bus test-bus: changing state OPENING → AUTHENTICATING
Bus test-bus: changing state AUTHENTICATING → HELLO
Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=Hello cookie=1 reply_cookie=0 signature=n/a error-name=n/a error-message=n/a
Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=RequestName cookie=2 reply_cookie=0 signature=su error-name=n/a error-message=n/a
Got message type=method_return sender=org.freedesktop.DBus destination=:1.732 path=n/a interface=n/a member=n/a cookie=4294967295 reply_cookie=1 signature=s error-name=n/a error-message=n/a
Bus test-bus: changing state HELLO → RUNNING
Bus test-bus: changing state RUNNING → CLOSED
request_name_destroy_callback n_ref=1
/* test_name_async (20) */
Bus test-bus: changing state UNSET → OPENING
Bus test-bus: changing state OPENING → AUTHENTICATING
Bus test-bus: changing state AUTHENTICATING → HELLO
stage 0: sd_bus_process returned 1
Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=Hello cookie=1 reply_cookie=0 signature=n/a error-name=n/a error-message=n/a
Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=RequestName cookie=2 reply_cookie=0 signature=su error-name=n/a error-message=n/a
stage 1: sd_bus_process returned 1
Got message type=method_return sender=org.freedesktop.DBus destination=:1.733 path=n/a interface=n/a member=n/a cookie=4294967295 reply_cookie=1 signature=s error-name=n/a error-message=n/a
Bus test-bus: changing state HELLO → RUNNING
stage 2: sd_bus_process returned 1
Got message type=signal sender=org.freedesktop.DBus.Local destination=n/a path=/org/freedesktop/DBus/Local interface=org.freedesktop.DBus.Local member=Connected cookie=4294967295 reply_cookie=0 signature=n/a error-name=n/a error-message=n/a
stage 3: sd_bus_process returned 1
Got message type=signal sender=org.freedesktop.DBus destination=:1.733 path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=NameAcquired cookie=4294967295 reply_cookie=0 signature=s error-name=n/a error-message=n/a
stage 4: sd_bus_process returned 1
Got message type=error sender=org.freedesktop.DBus destination=:1.733 path=n/a interface=n/a member=n/a cookie=4294967295 reply_cookie=2 signature=s error-name=org.freedesktop.DBus.Error.AccessDenied error-message=Request to own name refused by policy
Unable to request name, will retry after reloading DBus configuration: Request to own name refused by policy
Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=ReloadConfig cookie=3 reply_cookie=0 signature=n/a error-name=n/a error-message=n/a
request_name_destroy_callback n_ref=2
stage 5: sd_bus_process returned 1
Got message type=method_return sender=org.freedesktop.DBus destination=:1.733 path=n/a interface=n/a member=n/a cookie=4294967295 reply_cookie=3 signature= error-name=n/a error-message=n/a
Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=RequestName cookie=4 reply_cookie=0 signature=su error-name=n/a error-message=n/a
request_name_destroy_callback n_ref=1
stage 6: sd_bus_process returned 1
Got message type=error sender=org.freedesktop.DBus destination=:1.733 path=n/a interface=n/a member=n/a cookie=4294967295 reply_cookie=4 signature=s error-name=org.freedesktop.DBus.Error.AccessDenied error-message=Request to own name refused by policy
Unable to request name, failing connection: Request to own name refused by policy
Bus test-bus: changing state RUNNING → CLOSING
stage 7: sd_bus_process returned 1
Bus test-bus: changing state CLOSING → CLOSED
stage 8: sd_bus_process returned 1
stage 9: sd_bus_process returned -104
Processing failed: Connection reset by peer
2018-06-06 23:01:57 +02:00
Zbigniew Jędrzejewski-Szmek
fa17b4e8d9
bus: optionally call a callbacks for cleanup
...
This adds a function sd_bus_slot_set_destroy_callback() to set a function
which can free userdata or perform other cleanups.
sd_bus_slot_get_destory_callback() queries the callback, and is included
for completeness.
Without something like this, for floating asynchronous callbacks, which might
be called or not, depending on the sequence of events, it's hard to perform
resource cleanup. The alternative would be to always perform the cleanup from
the caller too, but that requires more coordination and keeping of some shared
state. It's nicer to keep the cleanup contained between the callback and the
function that requests the callback.
2018-06-06 23:01:57 +02:00
Zbigniew Jędrzejewski-Szmek
e3736e0223
man: also mention EINVAL in sd_bus_slot_set_floating(3)
2018-06-06 23:01:25 +02:00
Zbigniew Jędrzejewski-Szmek
24924cc959
test-bus-util: add a simple test for bus_request_name_async_may_reload_dbus()
...
This shows a minor memleak:
==1883== 24 bytes in 1 blocks are definitely lost in loss record 1 of 1
==1883== at 0x4C2DBAB: malloc (vg_replace_malloc.c:299)
==1883== by 0x4E9D385: malloc_multiply (alloc-util.h:69)
==1883== by 0x4EA2959: bus_request_name_async_may_reload_dbus (bus-util.c:1841)
==1883== by ...
The exchange of messages is truncated at two different points: once right
after the first callback is requested, and the second time after the full
sequence has run (usually resulting in an error because of policy).
2018-06-06 23:01:25 +02:00
Zbigniew Jędrzejewski-Szmek
83b6c1a6b1
bus-util: avoid unneeded initalization to zero
2018-06-06 23:01:25 +02:00
Zbigniew Jędrzejewski-Szmek
7d6b27238f
man: xinclude the generic text to talk about libsystemd pkgconfig
...
The only difference is that functions are not individually listed by name,
but that seems completely pointless, since all functions that are documented
are always exported, so the generic text tells the user all she or he needs
to know.
2018-06-06 23:01:25 +02:00
Zbigniew Jędrzejewski-Szmek
d5e9c5a2cd
Merge pull request #9201 from poettering/integration-test-unfuck
...
make the integration tests great again
2018-06-06 21:02:13 +02:00
Lennart Poettering
24715314fb
pid: fix ENOENT error check
2018-06-06 20:22:41 +02:00
Lennart Poettering
950d6889c3
systemctl: when GetProcesses() doesn't work, say for which unit
2018-06-06 19:46:23 +02:00
Lennart Poettering
81f6d448ef
Merge pull request #9212 from keszybz/null-removal-part-two
...
Small follow-up to log_struct NULL removal
2018-06-06 17:18:19 +02:00
Zbigniew Jędrzejewski-Szmek
bb74418bf1
Merge pull request #9197 from poettering/make-main-shorter
...
some smaller changes to make PID1's main() a bit shorter
2018-06-06 16:05:41 +02:00
Zbigniew Jędrzejewski-Szmek
2cda08fdf3
resolved: reformat message about a revoked trust anchor
...
LOG_MESSAGE is just a wrapper, but it keeps the arguments indented together
with the format string, so put the argument inside of the macro invocation.
(No functional change.)
Also use lowercase for "trust anchor" — it should either be all capitaled or not
at all, and it's not a proper name, so let's make it all lowercase.
Also, add a newline, to make the string more readable. "%s" can expand to
something that is quite long.
2018-06-06 14:55:31 +02:00
Zbigniew Jędrzejewski-Szmek
f4cf1d66f7
Remove NULL terminator from two log_struct calls
...
Fixup for a1230ff972 . I forgot to press "save" ;(
2018-06-06 14:44:34 +02:00
Lennart Poettering
9289045238
main: combine a some if checks
...
Let's merge a few if blocks that are conditioned out the same way.
No change in behaviour.
2018-06-06 14:39:15 +02:00
Lennart Poettering
ef59409ff2
main: use rlimit_free_all() at one more place
2018-06-06 14:39:15 +02:00
Lennart Poettering
5b65ae15d2
core: comment verbosely what the difference betweem set_manager_settings() and set_manager_defaults() is
2018-06-06 14:39:15 +02:00
Lennart Poettering
3130fca5a7
util: add new write_string_filef() helper
...
This new helper combines asprintf() and write_string_file() in one,
which is useful at various places to shorten the code a bit.
2018-06-06 14:39:15 +02:00
Lennart Poettering
9264cc39ce
main: split out reading of /proc/sys/fs/nr_open into its own function
...
This doesn't really reduce the code size over all, but it does make main.c
shorter and more readable, and that's always a good thing.
2018-06-06 14:39:15 +02:00
Zbigniew Jędrzejewski-Szmek
0e37c169fb
man: add example for sd_event_add_inotify
2018-06-06 13:09:36 +02:00
Zbigniew Jędrzejewski-Szmek
5c1701dd6d
Merge pull request #9210 from poettering/use-delete-trailing-chars
...
make use of delete_trailing_chars() more
2018-06-06 12:43:47 +02:00
Zbigniew Jędrzejewski-Szmek
6585f72c08
Merge pull request #9121 from poettering/sd-event-inotify
...
add "sd_event_add_inotify()" and use it for making PID 1 rescheduler .timer units properly on timezone change
2018-06-06 12:38:55 +02:00
Zbigniew Jędrzejewski-Szmek
ce55bd5e4a
NEWS: add note about --runtime
2018-06-06 12:38:44 +02:00
Yu Watanabe
60091993a9
locale: add _unused_ attribute for dummy variable
...
This suppresses the following warning by clang:
```
[588/1179] Compiling C object 'systemd-localed@exe/src_locale_localed.c.o'.
../src/locale/localed.c:271:39: warning: unused variable 'dummy' [-Wunused-variable]
_cleanup_(locale_free) char **dummy = new_locale;
^
```
2018-06-06 12:27:52 +02:00
rubensa
2b3df1963c
hwdb: add accel mount settings for Cube i7 Stylus I8L Model ( #9207 )
...
There are different Cube i7 Stylus generations.
Those are identified with the printed serial code sticker on motherboard (Printed serial code on casing is not always true)
Order of Model (Old - New):
W
WA
WWA
WN(I8WN)
I8L(With W on casing)
I own a I8L generation so the hw identification for my model does not work.
# cat /sys/class/dmi/id/sys_vendor
Cube
# сat /sys/class/dmi/id/product_name
i8-L
2018-06-06 12:02:35 +02:00
Lennart Poettering
0a6ffc5c9b
string-util: put together strstrip() from skip_leading_chars() and delete_trailing_chars()
2018-06-06 11:58:38 +02:00
Lennart Poettering
af8974940d
process-util: make use of delete_trailing_chars() in get_process_cmdline()
2018-06-06 11:58:18 +02:00
Lennart Poettering
1627069766
update TODO
2018-06-06 11:44:58 +02:00
Lennart Poettering
b2ad25d388
test: turn off the kernel's passive agressive /dev/kmsg ratelimit for our tests
2018-06-06 11:24:34 +02:00
Lennart Poettering
efd0b6ccca
test: make sure output of test TEST-03 test service ends up on console
2018-06-06 11:24:34 +02:00
Lennart Poettering
3edc0c590d
test: disable QEMU based testing for TEST-16-EXTEND-TIMEOUT
...
The test is heavily dependent on timeouts, and if we are run in
potentially very slow QEMU instances there's a good chance we'll miss
some which we normally wouldn't miss. Hence, let's test this one in
nspawn only. Given that the test is purely in service management it
shouldn't matter whether it runs in nspawn or qemu, hence keep running
it in nspawn, but don't bother with qemu.
Similar, do this for TEST-03-JOBS, too, which operates with relatively
short sleep times internally.
Fixes : #9123
2018-06-06 11:24:09 +02:00
Lennart Poettering
cd710e6ab9
update TODO
2018-06-06 10:55:45 +02:00