sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 1 | |
| 2 | #include <signal.h> |
| 3 | #include <sys/time.h> |
| 4 | #include <stdio.h> |
| 5 | #include <assert.h> |
| 6 | |
| 7 | void hdp_tick ( int sigNo ) |
| 8 | { |
| 9 | int j; |
| 10 | printf("tick "); fflush(stdout); |
| 11 | for (j = 0; j < 10 * 5000; j++) ; |
| 12 | printf("tock\n"); |
| 13 | } |
| 14 | |
| 15 | void hdp_init_profiling ( void ) |
| 16 | { |
| 17 | struct itimerval value; |
| 18 | int ret; |
| 19 | |
| 20 | value.it_interval.tv_sec = 0; |
| 21 | value.it_interval.tv_usec = 50 * 1000; |
| 22 | value.it_value = value.it_interval; |
| 23 | |
| 24 | signal(SIGPROF, hdp_tick); |
| 25 | ret = setitimer(ITIMER_PROF, &value, NULL); |
| 26 | assert(ret == 0); |
| 27 | } |
| 28 | |
sewardj | 0ca2a6b | 2002-03-29 14:02:34 +0000 | [diff] [blame] | 29 | int main ( void ) |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 30 | { |
| 31 | hdp_init_profiling(); |
| 32 | while (1) {} |
sewardj | 0ca2a6b | 2002-03-29 14:02:34 +0000 | [diff] [blame] | 33 | return 0; |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 34 | } |