summaryrefslogtreecommitdiff
path: root/os
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2017-11-20 15:43:05 -0500
committerAdam Jackson <ajax@redhat.com>2017-12-13 11:11:42 -0500
commit9c72887939f319e185d2726d9d9a4191b9d12efd (patch)
tree45ce7a1dad11c1e618af9b02aae5e222db51b294 /os
parent0a255dceb79ee28a88667d5bd23cf989dbf9bed8 (diff)
os: Make OsSignalHandler ask for core dumps for signo != SIGQUIT
SIGQUIT is a normal termination request, but any other signal we handle here wants a core. This has the effect of making FatalError's call to AbortServer trigger the if (CoreDump) OsAbort(); path. This will allow us to remove some DDX code that has the same net effect. Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'os')
-rw-r--r--os/osinit.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/os/osinit.c b/os/osinit.c
index cd769d181..8575319ff 100644
--- a/os/osinit.c
+++ b/os/osinit.c
@@ -52,6 +52,7 @@ SOFTWARE.
#include <X11/X.h>
#include "os.h"
#include "osdep.h"
+#include "opaque.h"
#include <X11/Xos.h>
#include <signal.h>
#include <errno.h>
@@ -74,8 +75,6 @@ SOFTWARE.
#define ADMPATH "/usr/adm/X%smsgs"
#endif
-extern char *display;
-
#ifdef RLIMIT_DATA
int limitDataSpace = -1;
#endif
@@ -151,6 +150,9 @@ OsSigHandler(int signo)
}
#endif
+ if (signo != SIGQUIT)
+ CoreDump = TRUE;
+
FatalError("Caught signal %d (%s). Server aborting\n",
signo, strsignal(signo));
}