sdl.c
changeset 444 b4589ccaff3a
parent 443 a45be556a111
child 454 cf4f1bf2111f
--- a/sdl.c	Wed Nov 17 07:57:28 2004 +0000
+++ b/sdl.c	Wed Nov 17 08:11:24 2004 +0000
@@ -119,6 +119,17 @@
 {
 	/* Own hand-made parachute for the cases of failed assertions. */
 	SDL_CALL SDL_Quit();
+
+	switch (sig) {
+		case SIGSEGV:
+		case SIGFPE:
+			signal(sig, SIG_DFL);
+			raise(sig);
+			break;
+
+		default:
+			break;
+	}
 }
 #endif
 
@@ -141,6 +152,8 @@
 
 #ifdef UNIX
 	signal(SIGABRT, SdlAbort);
+	signal(SIGSEGV, SdlAbort);
+	signal(SIGFPE, SdlAbort);
 #endif
 
 	return NULL;
@@ -154,6 +167,8 @@
 		SDL_CALL SDL_Quit();
 		#ifdef UNIX
 		signal(SIGABRT, SIG_DFL);
+		signal(SIGSEGV, SIG_DFL);
+		signal(SIGFPE, SIG_DFL);
 		#endif
 	}
 }