From 42709fb4e994df64bce606afe46d38c3d93142b4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 3 Feb 2016 14:58:18 +0100 Subject: switch-to-configuration: Handle failure to read /proc/1/exe It's not entirely clear why this happens, but sometimes /proc/1/exe returns a bogus value, like /ar3a3j6b9livhy5fcfv69izslhgk4gcz-systemd-217/lib/systemd/systemd. In any case, we can just conservatively assume that we need to restart systemd when this happens. Fixes #10261. --- nixos/modules/system/activation/switch-to-configuration.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos') diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index 655fbab2a843..d9048427801f 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -323,7 +323,7 @@ foreach my $device (keys %$prevSwaps) { # Should we have systemd re-exec itself? -my $prevSystemd = abs_path("/proc/1/exe") or die; +my $prevSystemd = abs_path("/proc/1/exe") // "/unknown"; my $newSystemd = abs_path("@systemd@/lib/systemd/systemd") or die; my $restartSystemd = $prevSystemd ne $newSystemd; -- cgit 1.4.1