I have a Pentium II, 233 MHz machine running Linux 2.0.30.
I have a simple SIGALRM test that tests WHEN the signal handler gets woken up,
i.e., it prints out the time difference between calls to SIGALRM. I have run
this test while I am playing sound clips with the real-audio player
'raplayer'. I find that the time difference is often five times the difference
that I expect. It seems that four to five signals are not being delivered for
every signal delivered. For example, if I set the timer interval to be 40
ms., I get signals delivered every 200 ms. This problem does not occur when
raplayer is not running. I think raplayer just exacerbates the problem because
some signals are missed even when the command 'top' updates its screen.
When I ran the same experiment on a Pentium, 166 MHz machine running Linux
2.0.30, this problem did not occur.
A similar problem exists with select. I have a dumb select that should always
timeout. I find that the timeout time is as much as five times the timeout I
specified. Again this happens when raplayer is playing but does not happen
otherwise on the 233 MHz Pentium II.
Has anyone seen similar problems, and if so, are there fixes available.
I can clean up my tests and post them if someone wants to look at the problem.
Thanks,
Ashvin