[PD-cvs] pd/src s_inter.c,1.1.1.3.2.9.2.6,1.1.1.3.2.9.2.7
Mathieu Bouchard
matju at users.sourceforge.net
Mon May 10 18:12:26 CEST 2004
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29321
Modified Files:
Tag: impd_0_37
s_inter.c
Log Message:
signal stuff. i would've liked to trap segfaults and redirect them to
gdb --attach, but it doesn't seem feasible... i guess the right thing to
do is to not write bugs in the first place =)
Index: s_inter.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_inter.c,v
retrieving revision 1.1.1.3.2.9.2.6
retrieving revision 1.1.1.3.2.9.2.7
diff -C2 -d -r1.1.1.3.2.9.2.6 -r1.1.1.3.2.9.2.7
*** s_inter.c 8 Apr 2004 01:46:03 -0000 1.1.1.3.2.9.2.6
--- s_inter.c 10 May 2004 16:12:23 -0000 1.1.1.3.2.9.2.7
***************
*** 498,502 ****
fprintf(stderr, "Pd: signal %d\n", n);
/* isn't really useful, because it sees only
! the signal stack, not the app's stack
#ifdef UNIX
{
--- 498,502 ----
fprintf(stderr, "Pd: signal %d\n", n);
/* isn't really useful, because it sees only
! the signal stack, not the app's stack */
#ifdef UNIX
{
***************
*** 507,511 ****
}
#endif
- */
sys_bail(1);
}
--- 507,510 ----
***************
*** 587,590 ****
--- 586,614 ----
};
+ void sys_setsignals(void) {
+ #ifdef UNIX
+ signal(SIGHUP, sys_huphandler);
+ signal(SIGINT, sys_exithandler);
+ signal(SIGQUIT, sys_exithandler);
+ signal(SIGIOT, sys_exithandler);
+ signal(SIGFPE, SIG_IGN);
+ /*
+ signal(SIGILL, sys_apocalypse);
+ signal(SIGBUS, sys_apocalypse);
+ signal(SIGSEGV, sys_apocalypse);
+ */
+ signal(SIGILL, sys_exithandler);
+ signal(SIGBUS, sys_exithandler);
+ signal(SIGSEGV, sys_exithandler);
+
+ signal(SIGPIPE, sys_exithandler);
+ signal(SIGALRM, SIG_IGN);
+ signal(SIGTERM, SIG_IGN);
+ #if 0 /* GG says: don't use that */
+ signal(SIGSTKFLT, sys_exithandler);
+ #endif
+ #endif
+ }
+
int sys_startgui(const char *guidir)
{
***************
*** 606,627 ****
sys_nfdpoll = 0;
inbinbuf = binbuf_new();
!
! #ifdef UNIX
! signal(SIGHUP, sys_huphandler);
! signal(SIGINT, sys_exithandler);
! signal(SIGQUIT, sys_exithandler);
! signal(SIGILL, sys_exithandler);
! signal(SIGIOT, sys_exithandler);
! signal(SIGFPE, SIG_IGN);
! signal(SIGILL, sys_apocalypse);
! signal(SIGBUS, sys_apocalypse);
! signal(SIGSEGV, sys_apocalypse);
! signal(SIGPIPE, sys_exithandler);
! signal(SIGALRM, SIG_IGN);
! signal(SIGTERM, SIG_IGN);
! #if 0 /* GG says: don't use that */
! signal(SIGSTKFLT, sys_exithandler);
! #endif
! #endif
#ifdef MSW
if (WSAStartup(version, &nobby)) sys_sockerror("WSAstartup");
--- 630,634 ----
sys_nfdpoll = 0;
inbinbuf = binbuf_new();
! /* sys_setsignals(); */
#ifdef MSW
if (WSAStartup(version, &nobby)) sys_sockerror("WSAstartup");
More information about the Pd-cvs
mailing list