]> git.proxmox.com Git - systemd.git/commitdiff
New upstream version 247.1
authorMichael Biebl <biebl@debian.org>
Tue, 1 Dec 2020 13:31:44 +0000 (14:31 +0100)
committerMichael Biebl <biebl@debian.org>
Tue, 1 Dec 2020 13:31:44 +0000 (14:31 +0100)
NEWS
po/POTFILES.skip
src/core/scope.c
src/home/meson.build
src/libsystemd/sd-event/sd-event.c
src/network/test-networkd-conf.c
src/oom/meson.build

diff --git a/NEWS b/NEWS
index 33048e3f19a7dd7a0cdeb2f5d51296a6c68b1840..49e19cec22daadbe0365bacf788a08470ac8dc2e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -15,7 +15,7 @@ CHANGES WITH 247:
           programs that monitor or enumerate devices with libudev or sd-device,
           or otherwise process uevents. Please note that this incompatibility
           is not fault of systemd or udev, but caused by an incompatible kernel
-          change that happened back in Linux 4.12, but is becoming more and
+          change that happened back in Linux 4.14, but is becoming more and
           more visible as the new uevents are generated by more kernel drivers.
 
           To minimize issues resulting from this kernel change (but not avoid
@@ -45,7 +45,7 @@ CHANGES WITH 247:
           new functions to enumerate these 'current' tags, in addition to the
           existing APIs that now enumerate the 'sticky' ones.
 
-          To properly handle "bind"/"unbind" on Linux 4.12 and newer it is
+          To properly handle "bind"/"unbind" on Linux 4.14 and newer it is
           essential that all udev rules files and applications are updated to
           handle the new events. Specifically:
 
index e6ef4d7920a003e20655e6346082ccff6d3b8cc3..599445be37f515d2c870ec53fecbae08bd303fd9 100644 (file)
@@ -4,6 +4,7 @@ src/core/dbus-job.c
 src/core/dbus-manager.c
 src/core/dbus-mount.c
 src/core/dbus-path.c
+src/core/dbus-scope.c
 src/core/dbus-service.c
 src/core/dbus-slice.c
 src/core/dbus-socket.c
@@ -11,10 +12,10 @@ src/core/dbus-swap.c
 src/core/dbus-target.c
 src/core/dbus-timer.c
 src/core/dbus-unit.c
-src/core/dbus-scope.c
 src/core/org.freedesktop.systemd1.policy
 src/hostname/hostnamed.c
 src/locale/localed.c
 src/timedate/timedated.c
-units/user@.service.in
 units/debug-shell.service.in
+units/systemd-journald.service.in
+units/user@.service.in
index a372f8d726a947f685b8a1df563551dd6abd8203..5448d44bd7e441ffe83578f9889883e132729089 100644 (file)
@@ -377,10 +377,6 @@ static int scope_start(Unit *u) {
                 return r;
         }
 
-        /* Now u->pids have been moved into the scope cgroup, it's not needed
-         * anymore. */
-        u->pids = set_free(u->pids);
-
         s->result = SCOPE_SUCCESS;
 
         scope_set_state(s, SCOPE_RUNNING);
@@ -388,7 +384,13 @@ static int scope_start(Unit *u) {
         /* Set the maximum runtime timeout. */
         scope_arm_timer(s, usec_add(UNIT(s)->active_enter_timestamp.monotonic, s->runtime_max_usec));
 
-        /* Start watching the PIDs currently in the scope */
+        /* On unified we use proper notifications hence we can unwatch the PIDs
+         * we just attached to the scope. This can also be done on legacy as
+         * we're going to update the list of the processes we watch with the
+         * PIDs currently in the scope anyway. */
+        unit_unwatch_all_pids(u);
+
+        /* Start watching the PIDs currently in the scope (legacy hierarchy only) */
         (void) unit_enqueue_rewatch_pids(u);
         return 1;
 }
index e3cc1a9fb5b550f45b15de0eff86d1b7fa4b8602..444dc476196ee319053046338aaaf828ecdec93a 100644 (file)
@@ -109,7 +109,7 @@ if conf.get('ENABLE_HOMED') == 1
 
         if install_sysconfdir
                 install_data('homed.conf',
-                             install_dir : sysconfdir)
+                             install_dir : pkgsysconfdir)
         endif
 endif
 
index 7a3f89ed37e40de5bc994275739c724c2dcf3e61..789a8c7df4f690a6f7e7f4eb863ef42d8219fcc2 100644 (file)
@@ -3725,7 +3725,7 @@ _public_ int sd_event_run(sd_event *e, uint64_t timeout) {
                 this_run = now(CLOCK_MONOTONIC);
 
                 l = u64log2(this_run - e->last_run);
-                assert(l < sizeof(e->delays));
+                assert(l < ELEMENTSOF(e->delays));
                 e->delays[l]++;
 
                 if (this_run - e->last_log >= 5*USEC_PER_SEC) {
index 0fe81886bda1d5ea642773a09d216b7b116c3010..c7710074352697e98ecbfaea048807cfec807ec4 100644 (file)
@@ -224,7 +224,7 @@ static void test_config_parse_match_ifnames(void) {
         assert_se(config_parse_match_ifnames("network", "filename", 1, "section", 1, "Name", 0, "!baz", &names, NULL) == 0);
         assert_se(config_parse_match_ifnames("network", "filename", 1, "section", 1, "Name", 0, "aaa bbb ccc", &names, NULL) == 0);
 
-        strv_equal(names, STRV_MAKE("!hoge", "!hogehoge", "!foo", "!baz", "aaa", "bbb", "ccc"));
+        assert_se(strv_equal(names, STRV_MAKE("!hoge", "!hogehoge", "!foo", "!baz", "aaa", "bbb", "ccc")));
 }
 
 static void test_config_parse_match_strv(void) {
index e966ad1dd8937f6b28170b01f74840094c50946d..1ea6766d1ad05296fd57349c741c9b0cf6b6eeba 100644 (file)
@@ -31,6 +31,6 @@ if conf.get('ENABLE_OOMD') == 1
 
         if install_sysconfdir
                 install_data('oomd.conf',
-                             install_dir : sysconfdir)
+                             install_dir : pkgsysconfdir)
         endif
 endif