int main() { struct sigaction sigact; int i; SigBuf1 = Allocate(SIZE, ALIGN); SigBuf2 = Allocate(SIZE, ALIGN); for (i = 0; i < SIZE; i++) SigBuf1[i] = (char)i; sigact.sa_sigaction = Handle; sigact.sa_flags = SA_SIGINFO; sigemptyset(&sigact.sa_mask); if (sigaction(SIGSEGV, &sigact, 0) == -1) { fprintf(stderr, "Unable to set up handler\n"); return 1; } if (sigaction(SIGBUS, &sigact, 0) == -1) { fprintf(stderr, "Unable to set up handler\n"); return 1; } XmmCheck(); return 0; }
int main() { struct sigaction sigact; struct itimerval itval; int i; if (IsBadKernel()) return 0; SigBuf1 = Allocate(SIZESMALL, ALIGN); SigBuf2 = Allocate(SIZESMALL, ALIGN); for (i = 0; i < SIZESMALL; i++) SigBuf1[i] = (char)i; sigact.sa_handler = Handle1; sigact.sa_flags = 0; sigemptyset(&sigact.sa_mask); if (sigaction(SIGVTALRM, &sigact, 0) == -1) { fprintf(stderr, "Unable to set up handler\n"); return 1; } itval.it_interval.tv_sec = 0; itval.it_interval.tv_usec = 10000; itval.it_value.tv_sec = 0; itval.it_value.tv_usec = 10000; if (setitimer(ITIMER_VIRTUAL, &itval, 0) == -1) { fprintf(stderr, "Unable to set up timer\n"); return 1; } XmmCheck(); itval.it_value.tv_sec = 0; itval.it_value.tv_usec = 0; if (setitimer(ITIMER_VIRTUAL, &itval, 0) == -1) { fprintf(stderr, "Unable to disable timer\n"); return 1; } return 0; }