123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*
- (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
- See the copyright notice in the ACK home directory, in the file "Copyright".
- */
- /*
- Module: initialization and some global vars
- Author: Ceriel J.H. Jacobs
- Version: $Id$
- */
- #include <signal.h>
- #include <em_abs.h>
- #include <m2_traps.h>
- /* map unix signals onto EM traps */
- init()
- {
- sigtrp(M2_UNIXSIG, SIGHUP);
- sigtrp(M2_UNIXSIG, SIGINT);
- sigtrp(M2_UNIXSIG, SIGQUIT);
- sigtrp(EILLINS, SIGILL);
- sigtrp(M2_UNIXSIG, SIGTRAP);
- sigtrp(M2_UNIXSIG, SIGIOT);
- sigtrp(M2_UNIXSIG, SIGEMT);
- sigtrp(M2_UNIXSIG, SIGFPE);
- sigtrp(M2_UNIXSIG, SIGBUS);
- sigtrp(M2_UNIXSIG, SIGSEGV);
- sigtrp(EBADMON, SIGSYS);
- sigtrp(M2_UNIXSIG, SIGPIPE);
- sigtrp(M2_UNIXSIG, SIGALRM);
- sigtrp(M2_UNIXSIG, SIGTERM);
- }
- #if defined(__em22) || defined(__em24) || defined(__em44)
- killbss()
- {
- }
- #else
- static int blablabla; /* We cannot use end, because then also
- bss allocated for the systemcall lib
- would be overwritten. Lets hope that
- this helps ...
- */
- killbss()
- {
- extern char *bkillbss;
- register char *p = (char *) &bkillbss;
- while (p < (char *) &blablabla) *p++ = 0x66;
- }
- #endif
- extern int catch();
- int (*handler)() = catch;
- char **argv = 0, **environ = 0;
- int argc = 0;
- char *MainLB = 0;
|