предполагая, что вы находитесь в окнах, вы можете рассмотреть такое решение:
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
void reset_token(int);
int token;
int main () {
// Sets SIGALARM to be delivered to this process in 5 seconds
alarm(5);
// Sets our reset_token to be called each time
// a SIGALARM is received
signal(SIGALARM, reset_token);
token=10;
while(1) {
token--;
}
return(0);
}
void reset_token(int signum) {
// This function is called every time this process
// receives a SIGALARM. We reset the token here.
token=10;
// Sets SIGALARM to be delivered again in 5 seconds
alarm(5);
}