--- libaitsched/example/test.c 2014/06/05 22:37:29 1.14 +++ libaitsched/example/test.c 2023/02/24 16:19:08 1.14.30.1 @@ -138,9 +138,24 @@ void sig(int s) case SIGTERM: Kill[0]++; break; + case SIGHUP: + printf("Test SIGHUP\n"); + break; } } +void *sigt(sched_task_t *arg) +{ + int s = TASK_VAL(arg); + + printf("Received signal #%d\n", s); + + sig(s); + + schedSignalSelf(arg); + taskExit(arg, NULL); +} + int main(int argc, char **argv) { @@ -295,8 +310,15 @@ main(int argc, char **argv) schedCallOnce(root, once, "000000", 42, NULL, 0); + printf("add signals\n"); + schedSignal(root, sigt, NULL, SIGHUP, NULL, 0); + schedSignal(root, sigt, NULL, SIGTERM, NULL, 0); + schedSignal(root, sigt, NULL, SIGINT, NULL, 0); + // schedPolling(root, &p, NULL); + schedSignalDispatch(root, 42); schedRun(root, Kill); + schedSignalDispatch(root, 0); schedEnd(&root); sleep(1);