If SO_KEEPALIVE is the primary issue, then the assumed race condition may not be a race condition at all. Just looking at the code in slimproto.c the function slimproto_run() may enter a loop with 100% cpu time if the socket is reset but not yet closed and this condition is not checked. The loop is then terminated only when the socket is finally closed. So it seems there are two issues
1. SO_KEEPALIVE 2. Given that not all possible stream states can be foreseen the main loop in slimproto_run() may check if it runs tight and enter into a sleep state for a short duration if it detects that. It may also debug-log any unknown condition. ------------------------------------------------------------------------ fpo's Profile: http://forums.slimdevices.com/member.php?userid=71212 View this thread: http://forums.slimdevices.com/showthread.php?t=113554 _______________________________________________ plugins mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/plugins
