Hi,
On Sun, Sep 02, 2007 at 08:24:18PM -0600, Jon Trulson wrote:
On Sun, 2 Sep 2007, Erik Auerswald wrote:
On Mon, Jul 23, 2007 at 08:54:00AM -0400, mmurray wrote:
To the best of my reasoning, the SIGALRM is being lost in a race
somewhere.
This seems to be correct -- sending a SIGALRM to nasd whenever the
playback hangs results in continued playback.
Ok. Attached is a patch that reworks the signal handling in the
voxware server. I do not have a spare machine to test the newer
kernels on, so I have no idea if this will affect the problem you
guys are seeing.
This patch does not affect the lost SIGALRM, the observable behaviour is
the same as with the current svn revision: nasd hangs after a while and
resumes after receiving a SIGALRM.
I do believe it (the patch) to be the correct way of doing it
though. In addition, DIA dispatch is now able to properly block the
appropriate signal when it needs to, which it couldn't before
(requiring the racy block/unblocks in intervalProc). Make sure dia/
gets rebuilt as well after applying this patch. Or just do a 'make
World' to be sure :)
The patch seems to be correct to me, but I have no experience in signals
programming.
Let me know if this corrects anything (and especially if it breaks
anything). I'll wait before committing until I get some kind of
feedback.
AFAIK it does not break anything and it sure looks cleaner to me.