Kaynağa Gözat

systemd: do not reexec when not necessary

Do not reexec systemd when running version is the same as installed
binary. Apparently reexec causes some race condifions, which result in
assertion fail in systemd.
Marek Marczykowski-Górecki 9 yıl önce
ebeveyn
işleme
90c84be5fb
1 değiştirilmiş dosya ile 5 ekleme ve 2 silme
  1. 5 2
      vm-systemd/qubes-sysinit.sh

+ 5 - 2
vm-systemd/qubes-sysinit.sh

@@ -14,8 +14,11 @@ read_service() {
     $XS_READ qubes-service/$1 2> /dev/null
 }
 
-# Ensure we're running right version of systemd (the one started by initrd may be different)
-systemctl daemon-reexec
+systemd_pkg_version=`systemctl --version|head -n 1`
+if ! dmesg | grep -q "$systemd_pkg_version running in system mode."; then
+    # Ensure we're running right version of systemd (the one started by initrd may be different)
+    systemctl daemon-reexec
+fi
 
 # Wait for evtchn initialization
 while [ ! -e /proc/xen/xenbus ]; do