diff options
Diffstat (limited to 'test/test.c')
-rw-r--r-- | test/test.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/test/test.c b/test/test.c index ec6f6fb..59e1cd1 100644 --- a/test/test.c +++ b/test/test.c @@ -15,15 +15,22 @@ static void timeout_handler(void *arg) } -int re_main_timeout(uint32_t timeout) +static void signal_handler(int sig) +{ + re_fprintf(stderr, "test interrupted by signal %d\n", sig); + re_cancel(); +} + + +int re_main_timeout(uint32_t timeout_ms) { struct tmr tmr; int err = 0; tmr_init(&tmr); - tmr_start(&tmr, timeout * 1000, timeout_handler, &err); - re_main(NULL); + tmr_start(&tmr, timeout_ms, timeout_handler, &err); + re_main(signal_handler); tmr_cancel(&tmr); return err; |