diff options
Diffstat (limited to 'x11-misc/slim/files/slim-1.3.6-systemd-session.patch')
-rw-r--r-- | x11-misc/slim/files/slim-1.3.6-systemd-session.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/x11-misc/slim/files/slim-1.3.6-systemd-session.patch b/x11-misc/slim/files/slim-1.3.6-systemd-session.patch new file mode 100644 index 000000000000..0639aeb5f185 --- /dev/null +++ b/x11-misc/slim/files/slim-1.3.6-systemd-session.patch @@ -0,0 +1,29 @@ +--- a/app.cpp 2013-10-23 16:19:57.074100282 -0400 ++++ b/app.cpp 2013-10-23 16:33:13.302122574 -0400 +@@ -829,8 +829,13 @@ + + StopServer(); + RemoveLock(); +- while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */ +- Run(); ++ if (force_nodaemon) { ++ delete LoginPanel; ++ exit(ERR_EXIT); /* use ERR_EXIT so that systemd's RESTART=on-failure works */ ++ } else { ++ while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */ ++ Run(); ++ } + } + + void App::KillAllClients(Bool top) { +--- a/slim.service 2013-10-23 16:19:57.074100282 -0400 ++++ b/slim.service 2013-10-23 16:45:14.901142776 -0400 +@@ -4,6 +4,7 @@ + + [Service] + ExecStart=/usr/bin/slim -nodaemon -s ++Restart=on-failure + + [Install] + Alias=display-manager.service +Common subdirectories: slim-1.3.6/themes and slim-1.3.6.new/themes |