#include #include #include #include static volatile bool got_alarm = false; int main(int argc, char** argv) { UNUSED_PARAM(argc); UNUSED_PARAM(argv); unsigned ret = alarm(5); printf("alarm() with no alarm set: %u\n", ret); ret = alarm(2); printf("alarm() with an alarm(5) set: %u\n", ret); signal(SIGALRM, [](int) { got_alarm = true; }); printf("Entering infinite loop.\n"); while (!got_alarm) { } printf("Oh, we got the alarm. Exiting :)\n"); return 0; }