From e77d7112d8e7a6d769ef885e0fa5c7c4257d5da0 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 19 Jun 2008 10:53:08 -0400 Subject: return to text mode on crash --- src/main.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/main.c b/src/main.c index b586f45..86597cd 100644 --- a/src/main.c +++ b/src/main.c @@ -29,8 +29,11 @@ #include #include #include +#include #include +#include + #include "ply-answer.h" #include "ply-boot-server.h" #include "ply-boot-splash.h" @@ -385,6 +388,18 @@ initialize_environment (state_t *state) return true; } +static void +on_crash (int signal) +{ + int fd; + + fd = open ("/dev/tty7", O_RDWR | O_NOCTTY); + + ioctl (fd, KDSETMODE, KD_TEXT); + + close (fd); +} + int main (int argc, char **argv) @@ -423,6 +438,9 @@ main (int argc, return EX_UNAVAILABLE; } + signal (SIGABRT, on_crash); + signal (SIGSEGV, on_crash); + state.loop = ply_event_loop_new (); /* before do anything we need to make sure we have a working -- cgit