#include #include #include static struct nn_event_loop loop; static void timer_callback2(void *userdata, struct nn_timer *timer) { (void)userdata; al_printf("4\n"); nn_timer_stop(timer); nn_event_loop_sleep(&loop, NNWT_TS_FROM_USEC(600000)); al_printf("5\n"); } static void timer_callback(void *userdata, struct nn_timer *timer) { (void)userdata; al_printf("1\n"); nn_event_loop_sleep(&loop, NNWT_TS_FROM_USEC(100000)); al_printf("2\n"); timer->callback = timer_callback2; nn_timer_again(timer); nn_event_loop_sleep(&loop, NNWT_TS_FROM_USEC(800000)); al_printf("3\n"); nn_event_loop_sleep(&loop, NNWT_TS_FROM_USEC(2000000)); al_printf("6\n"); } s32 main(void) { if (!nn_common_init(NULL)) return EXIT_FAILURE; nn_event_loop_init(&loop); struct nn_timer timer; nn_timer_init(&timer, &loop, timer_callback, NULL); nn_timer_set_repeat(&timer, NNWT_TS_FROM_USEC(1000000)); nn_timer_again(&timer); nn_event_loop_sleep(&loop, NNWT_TS_FROM_USEC(6000000)); al_printf("7\n"); nn_event_loop_run(&loop); nn_common_close(); return EXIT_SUCCESS; }