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

Reply via email to