Bug 1686 - Server should reduce player state and stop display updates on player disconnect
: Server should reduce player state and stop display updates on player disconnect
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Misc
: 6.1.0
: All All
: P2 normal with 1 vote (vote)
: Future
Assigned To: Blackketter Dean
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-06-18 07:35 UTC by Adrian Smith
Modified: 2008-12-15 13:06 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adrian Smith 2005-06-18 07:35:58 UTC
Currently slimserver keeps all client state and timers when a client 
disconnects.  This means that all updates and animation still occur once the 
player has gone away.  This is wasteful on server resources.

From a display point of view, at least the following should occur:
- call $client->killAnimation to stop scrolling
- change display mode to stop _periodicUpdates

Other timers could be killed, but would need to be careful if they they 
prevent long term timers fireing (alarms etc?)

Raising as a bug as this should probably align with a subset of the SN 
solution.
Comment 1 Blackketter Dean 2005-06-18 14:59:30 UTC
This should probably require that the player be disconnected for a few minutes, to handle the case 
where it gets disconnected because somebody's heating up a burrito in the microwave.
Comment 2 Michael Wagner 2005-12-30 13:49:13 UTC
OTOH I powered down my WAP, unplugged and packed up my wireless SB1, put it in its carrying case, put SB&Case in the closet ready for my next wireless gig, poured myself a schnapps and came back to find out, much to my surprise, that Slim still thought wireless signal strength was 88%. I'd say it was disconnected for over an hour. That seems like too long to keep the home fires burning.
Comment 3 KDF 2005-12-30 14:46:09 UTC
The case of 88% strength is simply the last known state, which isn't updated if the client never supplies a new value (and because nothing has been done on this bug to drop old clients).  Perl does not free up memory the way you'd expect, so deleting the client object won't really change the resource usage.  Stopping the activity driven by the server to the client is the critical point in reducing wasted cpu time.  Scrolling or screensavers expect no feedback as far as making sure the client is still there. I've been assuming that this would be solved by using the api used by Squeezenetwork for dropping stale clients.
Comment 4 Michael Wagner 2006-01-08 19:45:07 UTC
see also bug 2798
Comment 5 Adrian Smith 2006-01-14 13:26:21 UTC
Proposed solution in svn 5642.  Disconnected players are forgotten after 5 minutes.  Will need more work if users complain that disconnected players no longer show up in web home page.
Comment 6 James Richardson 2008-12-15 13:06:46 UTC
This bug appears to have been fixed in the latest release!

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.

Make sure to include the version number of the software you are seeing the error with.