This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

__profile_frequency


Um, so how's 

45        tim.it_interval.tv_sec = 0;
46        tim.it_interval.tv_usec = 1;
47        tim.it_value.tv_sec = 0;
48        tim.it_value.tv_usec = 0;
49        __setitimer(ITIMER_REAL, &tim, 0);
50        __setitimer(ITIMER_REAL, 0, &tim);
51        if (tim.it_interval.tv_usec < 2)
52          return 0;
53        return (1000000 / tim.it_interval.tv_usec);

supposed to work?  AFAICS there's no reason for the kernel 
(1) not to round down instead of up and (2) not do something
else legal like schedule in between the two __setitimer calls.

On alpha-linux 2.5.73, tim is always zero after the second
call, which results in divide-by-zero FPE in __sprofil.

Why wouldn't this be the same as __getclktck?


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]