After much mucking around in the code, I believe I've figured it out.

The cause seems to be an unhandled interrupt (EINTR) when reading from
a song file. For some reason, this happens to me periodically when
starting a new track, and the code interprets it as the end of the
track, thus skipping it and advancing to the next one.

This was particularly nasty to chase down, because it's intermittent,
and turning on debugging made it happen far less often. But that was
key, as I eventually discovered this message:

2006-09-08 23:57:08.9657 readlen undef: (Interrupted system
call)4

The solution is to check for EINTR after the call to sysread(),
retrying if necessary. I have a patch, but I'm no perl wizard, so I'll
start a thread in Developers to discuss issue and vet the fix.

--Andy


-- 
av249
------------------------------------------------------------------------
av249's Profile: http://forums.slimdevices.com/member.php?userid=7381
View this thread: http://forums.slimdevices.com/showthread.php?t=27190

_______________________________________________
beta mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/beta

Reply via email to