dump(fuzz_ptr(fuzz), fuzz_len(fuzz));
}
-#ifdef SIGINFO
static struct fuzz *last_fuzz;
static void
atomicio(vwrite, STDERR_FILENO, buf, strlen(buf));
}
}
-#endif
struct fuzz *
fuzz_begin(u_int strategies, const void *p, size_t l)
fuzz_next(ret);
-#ifdef SIGINFO
last_fuzz = ret;
+#ifdef SIGINFO
signal(SIGINFO, siginfo);
#endif
+ signal(SIGUSR1, siginfo);
return ret;
}
fuzz_cleanup(struct fuzz *fuzz)
{
FUZZ_DBG(("cleanup, fuzz = %p", fuzz));
-#ifdef SIGINFO
last_fuzz = NULL;
+#ifdef SIGINFO
signal(SIGINFO, SIG_DFL);
#endif
+ signal(SIGUSR1, SIG_DFL);
assert(fuzz != NULL);
assert(fuzz->seed != NULL);
assert(fuzz->fuzzed != NULL);
*subtest_info != '\0' ? " - " : "", subtest_info);
}
-#ifdef SIGINFO
static void
siginfo(int unused __attribute__((__unused__)))
{
test_info(buf, sizeof(buf));
atomicio(vwrite, STDERR_FILENO, buf, strlen(buf));
}
-#endif
void
test_start(const char *n)
#ifdef SIGINFO
signal(SIGINFO, siginfo);
#endif
+ signal(SIGUSR1, siginfo);
}
void