X-Git-Url: https://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=assignments.git;a=blobdiff_plain;f=assgn7%2Ftimer.c;h=c8fef9879dc09573bad08a2466804106d0ce1d4d;hp=6d35ff54fe3c105afc63760dec5cab038ba8bc22;hb=4cb62617fbc1c9c9ad454c1b18a313ca5e7b744e;hpb=98cc79a1a2aaf0c08ac817b50b0a1e923a651484 diff --git a/assgn7/timer.c b/assgn7/timer.c index 6d35ff5..c8fef98 100644 --- a/assgn7/timer.c +++ b/assgn7/timer.c @@ -10,31 +10,29 @@ int done; void handle_start() { - if(clock_gettime(CLOCK_MONOTONIC, start_time) == -1) { + if(clock_gettime(CLOCK_PROCESS_CPUTIME_ID, start_time) == -1) { printf("failed to get start time.\n"); exit(1); } - - pause(); } void handle_stop() { long int start_sec, stop_sec, delta; - if(clock_gettime(CLOCK_MONOTONIC, stop_time) == -1) { + if(clock_gettime(CLOCK_PROCESS_CPUTIME_ID, stop_time) == -1) { printf("failed to get stop time.\n"); exit(1); } - start_sec = ((long int) start_time->tv_sec); - stop_sec = ((long int) stop_time->tv_sec); + start_sec = ((long int) start_time->tv_nsec); + stop_sec = ((long int) stop_time->tv_nsec); delta = stop_sec - start_sec; - printf("%ld seconds elapsed between signals.\n", delta); + printf("%ld nanoseconds elapsed between signals.\n", delta); done = 1; } @@ -58,7 +56,7 @@ int main(int argc, char *argv[]) { pause(); if(!done) - goto terminate_check; + goto terminate_check; /* sorry */ free(start_time); free(stop_time);