[Slim-Checkins] r8830 - /trunk/server/Slim/Networking/Slimproto.pm

andy at svn.slimdevices.com andy at svn.slimdevices.com
Sun Aug 6 09:22:52 PDT 2006


Author: andy
Date: Sun Aug  6 09:22:50 2006
New Revision: 8830

URL: http://svn.slimdevices.com?rev=8830&view=rev
Log:
Reorder client disconnect code. SN uses a forgot_disconnected_client setting of 0 so we can skip the timer

Modified:
    trunk/server/Slim/Networking/Slimproto.pm

Modified: trunk/server/Slim/Networking/Slimproto.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Networking/Slimproto.pm?rev=8830&r1=8829&r2=8830&view=diff
==============================================================================
--- trunk/server/Slim/Networking/Slimproto.pm (original)
+++ trunk/server/Slim/Networking/Slimproto.pm Sun Aug  6 09:22:50 2006
@@ -231,17 +231,22 @@
 
 		# check client not already forgotten
 		if ( Slim::Player::Client::getClient( $client->id ) ) {
-
-			# set timer to forget client
-			Slim::Utils::Timers::setTimer($client, time() + $forget_disconnected_time, \&forget_disconnected_client);
-		
+			
 			# notify of disconnect
 			Slim::Control::Request::notifyFromArray($client, ['client', 'disconnect']);
-		
+			
 			# Bug 2707, If a synced player disconnects, unsync it temporarily
 			if ( Slim::Player::Sync::isSynced($client) ) {
 				$::d_sync && msg("Player disconnected, temporary unsync ". $client->id . "\n");
 				Slim::Player::Sync::unsync( $client, 1 );
+			}
+
+			# set timer to forget client
+			if ( $forget_disconnected_time ) {
+				Slim::Utils::Timers::setTimer($client, time() + $forget_disconnected_time, \&forget_disconnected_client);
+			}
+			else {
+				forget_disconnected_client($client);
 			}
 		}
 	}



More information about the checkins mailing list