summaryrefslogtreecommitdiff
path: root/testing/slim/restart.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/slim/restart.patch')
-rw-r--r--testing/slim/restart.patch144
1 files changed, 0 insertions, 144 deletions
diff --git a/testing/slim/restart.patch b/testing/slim/restart.patch
deleted file mode 100644
index 4e5049000..000000000
--- a/testing/slim/restart.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-http://developer.berlios.de/patch/?func=detailpatch&patch_id=2378&group_id=2663
-
-
-diff -aur slim-1.3.2.b/app.cpp slim-1.3.2.c/app.cpp
---- slim-1.3.2.b/app.cpp 2010-08-21 15:10:48.579631179 +0200
-+++ slim-1.3.2.c/app.cpp 2010-08-21 15:11:03.946389843 +0200
-@@ -104,6 +104,11 @@
-
- extern App* LoginApp;
-
-+int xioerror(Display *disp) {
-+ LoginApp->RestartServer();
-+ return 0;
-+}
-+
- void CatchSignal(int sig) {
- cerr << APPNAME << ": unexpected signal " << sig << endl;
-
-@@ -114,19 +119,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);
- }
-@@ -277,7 +269,6 @@
- signal(SIGHUP, CatchSignal);
- signal(SIGPIPE, CatchSignal);
- signal(SIGUSR1, User1Signal);
-- signal(SIGALRM, AlarmSignal);
-
- #ifndef XNEST_DEBUG
- if (!force_nodaemon && cfg->getOption("daemon") == "yes") {
-@@ -298,7 +289,6 @@
-
- CreateServerAuth();
- StartServer();
-- alarm(2);
- #endif
-
- }
-@@ -614,6 +604,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");
-@@ -659,9 +651,6 @@
-
-
- void App::Reboot() {
-- // Stop alarm clock
-- alarm(0);
--
- #ifdef USE_PAM
- try{
- pam.end();
-@@ -684,9 +673,6 @@
-
-
- void App::Halt() {
-- // Stop alarm clock
-- alarm(0);
--
- #ifdef USE_PAM
- try{
- pam.end();
-@@ -772,6 +758,7 @@
-
- StopServer();
- RemoveLock();
-+ while (waitpid(-1, NULL, WNOHANG) > 0); // Collects all dead childrens
- Run();
- }
-
-@@ -842,6 +829,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"))
-@@ -926,9 +914,6 @@
- ServerPID = -1;
- break;
- }
-- alarm(15);
-- pause();
-- alarm(0);
-
- // Wait for server to start up
- if(WaitForServer() == 0) {
-@@ -963,15 +948,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 -aur slim-1.3.2.b/app.h slim-1.3.2.c/app.h
---- slim-1.3.2.b/app.h 2010-08-21 15:10:40.499582804 +0200
-+++ slim-1.3.2.c/app.h 2010-08-21 15:11:03.946389843 +0200
-@@ -34,6 +34,7 @@
- ~App();
- void Run();
- int GetServerPID();
-+ void RestartServer();
- void StopServer();
-
- bool serverStarted;
-@@ -49,7 +50,6 @@
- void Console();
- void Exit();
- void KillAllClients(Bool top);
-- void RestartServer();
- void ReadConfig();
- void OpenLog();
- void CloseLog();