allow to only poll UI event every X frames

This commit is contained in:
Gwenhael Le Moine 2024-09-27 21:47:14 +02:00
parent eee03e3b8e
commit 389964ae7e
No known key found for this signature in database
GPG key ID: FDFE3669426707A7

View file

@ -18,15 +18,24 @@
#define CONDITION_STACK_SIZE 16
#define HANDLER_STACK_SIZE 8
#define QUERY_EVENTS_EVERY_X_FRAME 4
void signal_handler( int sig )
{
static int nb_refreshes_since_last_checking_events = 0;
switch ( sig ) {
/* case SIGINT: /\* Ctrl-C *\/ */
/* enter_debugger |= USER_INTERRUPT; */
/* break; */
/* case SIGINT: /\* Ctrl-C *\/ */
/* enter_debugger |= USER_INTERRUPT; */
/* break; */
case SIGALRM:
ui_get_event();
if ( nb_refreshes_since_last_checking_events > QUERY_EVENTS_EVERY_X_FRAME ) {
nb_refreshes_since_last_checking_events = 0;
ui_get_event();
}
ui_update_display();
nb_refreshes_since_last_checking_events++;
break;
case SIGPIPE:
ui_stop();