xref: /csrg-svn/lib/libc/stdlib/abort.c (revision 35301)
121338Sdist /*
224054Skarels  * Copyright (c) 1985 Regents of the University of California.
3*35301Sbostic  * All rights reserved.
4*35301Sbostic  *
5*35301Sbostic  * Redistribution and use in source and binary forms are permitted
6*35301Sbostic  * provided that the above copyright notice and this paragraph are
7*35301Sbostic  * duplicated in all such forms and that any documentation,
8*35301Sbostic  * advertising materials, and other materials related to such
9*35301Sbostic  * distribution and use acknowledge that the software was developed
10*35301Sbostic  * by the University of California, Berkeley.  The name of the
11*35301Sbostic  * University may not be used to endorse or promote products derived
12*35301Sbostic  * from this software without specific prior written permission.
13*35301Sbostic  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14*35301Sbostic  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15*35301Sbostic  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1621338Sdist  */
1717866Sralph 
1826540Sdonn #if defined(LIBC_SCCS) && !defined(lint)
19*35301Sbostic static char sccsid[] = "@(#)abort.c	5.5 (Berkeley) 08/02/88";
20*35301Sbostic #endif /* LIBC_SCCS and not lint */
2121338Sdist 
22*35301Sbostic #include <signal.h>
2317866Sralph 
2417866Sralph abort()
2517866Sralph {
26*35301Sbostic 	(void)sigblock(~0L);
27*35301Sbostic 	(void)signal(SIGILL, SIG_DFL);
28*35301Sbostic 	(void)sigsetmask(~sigmask(SIGILL));
29*35301Sbostic 	(void)kill(getpid(), SIGILL);
3017866Sralph }
31