summaryrefslogtreecommitdiffstats
path: root/extra/slim/slim-restart.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/slim/slim-restart.patch')
-rw-r--r--extra/slim/slim-restart.patch141
1 files changed, 0 insertions, 141 deletions
diff --git a/extra/slim/slim-restart.patch b/extra/slim/slim-restart.patch
deleted file mode 100644
index 1f9c02dff..000000000
--- a/extra/slim/slim-restart.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-diff -ur slim-1.3.1.orig/app.cpp slim-1.3.1/app.cpp
---- slim-1.3.1.orig/app.cpp 2008-09-26 02:54:15.000000000 +0200
-+++ slim-1.3.1/app.cpp 2008-11-21 20:38:48.000000000 +0100
-@@ -102,6 +102,11 @@
-
- extern App* LoginApp;
-
-+int xioerror(Display *disp) {
-+ LoginApp->RestartServer();
-+ return 0;
-+}
-+
- void CatchSignal(int sig) {
- cerr << APPNAME << ": unexpected signal " << sig << endl;
- LoginApp->StopServer();
-@@ -109,19 +114,6 @@
- exit(ERR_EXIT);
- }
-
--
--void AlarmSignal(int sig) {
-- int pid = LoginApp->GetServerPID();
-- if(waitpid(pid, NULL, WNOHANG) == pid) {
-- LoginApp->StopServer();
-- LoginApp->RemoveLock();
-- exit(OK_EXIT);
-- }
-- signal(sig, AlarmSignal);
-- alarm(2);
--}
--
--
- void User1Signal(int sig) {
- signal(sig, User1Signal);
- }
-@@ -267,7 +259,6 @@
- signal(SIGHUP, CatchSignal);
- signal(SIGPIPE, CatchSignal);
- signal(SIGUSR1, User1Signal);
-- signal(SIGALRM, AlarmSignal);
-
- #ifndef XNEST_DEBUG
- OpenLog();
-@@ -287,7 +278,6 @@
-
- CreateServerAuth();
- StartServer();
-- alarm(2);
- #endif
-
- }
-@@ -603,6 +593,8 @@
- int status;
- while (wpid != pid) {
- wpid = wait(&status);
-+ if (wpid == ServerPID)
-+ xioerror(Dpy); // Server died, simulate IO error
- }
- if (WIFEXITED(status) && WEXITSTATUS(status)) {
- LoginPanel->Message("Failed to execute login command");
-@@ -648,9 +640,6 @@
-
-
- void App::Reboot() {
-- // Stop alarm clock
-- alarm(0);
--
- #ifdef USE_PAM
- try{
- pam.end();
-@@ -673,9 +662,6 @@
-
-
- void App::Halt() {
-- // Stop alarm clock
-- alarm(0);
--
- #ifdef USE_PAM
- try{
- pam.end();
-@@ -761,6 +747,7 @@
-
- StopServer();
- RemoveLock();
-+ while (waitpid(-1, NULL, WNOHANG) > 0); // Collects all dead childrens
- Run();
- }
-
-@@ -831,6 +818,7 @@
-
- for(cycles = 0; cycles < ncycles; cycles++) {
- if((Dpy = XOpenDisplay(DisplayName))) {
-+ XSetIOErrorHandler(xioerror);
- return 1;
- } else {
- if(!ServerTimeout(1, (char *) "X server to begin accepting connections"))
-@@ -913,9 +901,6 @@
- ServerPID = -1;
- break;
- }
-- alarm(15);
-- pause();
-- alarm(0);
-
- // Wait for server to start up
- if(WaitForServer() == 0) {
-@@ -948,15 +933,12 @@
-
-
- void App::StopServer() {
-- // Stop alars clock and ignore signals
-- alarm(0);
- signal(SIGQUIT, SIG_IGN);
- signal(SIGINT, SIG_IGN);
- signal(SIGHUP, SIG_IGN);
- signal(SIGPIPE, SIG_IGN);
- signal(SIGTERM, SIG_DFL);
- signal(SIGKILL, SIG_DFL);
-- signal(SIGALRM, SIG_DFL);
-
- // Catch X error
- XSetIOErrorHandler(IgnoreXIO);
-diff -ur slim-1.3.1.orig/app.h slim-1.3.1/app.h
---- slim-1.3.1.orig/app.h 2008-09-26 02:54:15.000000000 +0200
-+++ slim-1.3.1/app.h 2008-11-21 20:38:48.000000000 +0100
-@@ -34,6 +34,7 @@
- ~App();
- void Run();
- int GetServerPID();
-+ void RestartServer();
- void StopServer();
-
- // Lock functions
-@@ -48,7 +49,6 @@
- void Console();
- void Exit();
- void KillAllClients(Bool top);
-- void RestartServer();
- void ReadConfig();
- void OpenLog();
- void CloseLog();