Author: titmuss
Date: Fri Jan 18 06:13:23 2008
New Revision: 1498
URL: http://svn.slimdevices.com?rev=1498&root=Jive&view=rev
Log:
Bug: N/A
Description:
Fix freeing players on timeout.
Modified:
trunk/jive/src/pkg/jive/share/jive/slim/Player.lua
trunk/jive/src/pkg/jive/share/jive/slim/SlimServer.lua
Modified: trunk/jive/src/pkg/jive/share/jive/slim/Player.lua
URL:
http://svn.slimdevices.com/trunk/jive/src/pkg/jive/share/jive/slim/Player.lua?rev=1498&root=Jive&r1=1497&r2=1498&view=diff
==============================================================================
--- trunk/jive/src/pkg/jive/share/jive/slim/Player.lua (original)
+++ trunk/jive/src/pkg/jive/share/jive/slim/Player.lua Fri Jan 18 06:13:23 2008
@@ -219,6 +219,7 @@
players[obj.id] = obj
-- notify of new player
+ log:info(obj, " new for ", obj.slimServer)
jnt:notify('playerNew', obj)
return obj
@@ -244,11 +245,13 @@
if self.slimServer ~= slimServer then
-- delete from old server
if self.slimServer then
+ log:info(self, " delete for ", self.slimServer)
self.jnt:notify('playerDelete', self)
end
-- add to new server
self.slimServer = slimServer
+ log:info(self, " new for ", self.slimServer)
self.jnt:notify('playerNew', self)
end
@@ -322,18 +325,25 @@
--[[
-=head2 jive.slim.Player:free()
-
-Deletes the player.
-
-=cut
---]]
-function free(self)
+=head2 jive.slim.Player:free(slimServer)
+
+Deletes the player, if connect to the given slimServer
+
+=cut
+--]]
+function free(self, slimServer)
+ _assert(slimServer)
+
+ if self.slimServer ~= slimServer then
+ -- ignore, we are not connected to this server
+ return
+ end
+
+ log:info(self, " delete for ", self.slimServer)
self.jnt:notify('playerDelete', self)
self:offStage()
- -- FIXME we can't free players, maybe used by other servers
- -- players[self.id] = nil
+ players[self.id] = nil
end
Modified: trunk/jive/src/pkg/jive/share/jive/slim/SlimServer.lua
URL:
http://svn.slimdevices.com/trunk/jive/src/pkg/jive/share/jive/slim/SlimServer.lua?rev=1498&root=Jive&r1=1497&r2=1498&view=diff
==============================================================================
--- trunk/jive/src/pkg/jive/share/jive/slim/SlimServer.lua (original)
+++ trunk/jive/src/pkg/jive/share/jive/slim/SlimServer.lua Fri Jan 18 06:13:23
2008
@@ -159,7 +159,7 @@
for k,v in pairs(selfPlayers) do
player = self.players[k]
-- wave player bye bye
- player:free()
+ player:free(self)
self.players[k] = nil
end
@@ -265,7 +265,7 @@
-- delete players
for id, player in pairs(self.players) do
- player:free()
+ player:free(self)
end
self.players = nil
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins