Advertisement
Guest User

Timer test

a guest
Mar 17th, 2014
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.11 KB | None | 0 0
  1. #include <sys/time.h>
  2. #include <signal.h>
  3. #include <stdio.h>
  4.  
  5. int counter = 0;
  6.  
  7. void handler (int sig)
  8. {
  9.     counter++;
  10. }
  11.  
  12. int main ()
  13. {
  14.     printf ("Start\n");
  15.     struct sigaction sa;
  16.     sa.sa_handler = handler;
  17.     sa.sa_flags = 0;
  18.     sigemptyset (&sa.sa_mask);
  19.     sigaction (SIGPROF, &sa, NULL);
  20.  
  21.     struct itimerval val;
  22.     struct itimerval val_old;
  23.     val.it_interval.tv_sec  = 0;
  24.     val.it_interval.tv_usec = 100;
  25.  
  26.     val.it_value.tv_sec  = 0;
  27.     val.it_value.tv_usec = 100;
  28.  
  29.     struct timeval time;
  30.     gettimeofday(&time, 0);
  31.     time_t start = time.tv_sec;
  32.     time_t cur = start;
  33.    
  34.     setitimer (2, &val, NULL);
  35.  
  36.     do
  37.     {
  38.         gettimeofday(&time, 0);
  39.         cur = time.tv_sec;
  40.     }
  41.     while (cur < start+15);
  42.  
  43.     val.it_value.tv_sec  = 0;
  44.     val.it_value.tv_usec = 0;
  45.     setitimer (2, &val, &val_old);
  46.  
  47.     printf ("%i\n", counter);
  48.     printf ("%li %li %li %li\n",
  49.             val_old.it_interval.tv_sec,
  50.             val_old.it_interval.tv_usec,
  51.             val_old.it_value.tv_sec,
  52.             val_old.it_value.tv_usec);
  53.  
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement