Saturday, March 7, 2015

Simple signal timer in C++


#define INTERVAL 1000
struct itimerval it_val; 
  if (signal(SIGALRM, signalRecieved) == SIG_ERR) {
    printError("Error catching SIGALRM.");
    exit(1);
  }
  it_val.it_value.tv_sec =     INTERVAL/1000;
  it_val.it_value.tv_usec =    (INTERVAL*1000) % 1000000; 
  it_val.it_interval = it_val.it_value;
  if (setitimer(ITIMER_REAL, &it_val, NULL) == -1) {
    printError("Error calling setitimer.");
    exit(1);
  }

void signalRecieved(int sig){
 //handle signal
}

This is part of the LinuxShell project.

No comments: