Author: richard
Date: Fri Apr 3 13:37:58 2009
New Revision: 5143
URL: http://svn.slimdevices.com/jive?rev=5143&view=rev
Log:
r5...@harrypotter (orig r5141): richard | 2009-04-03 21:36:06 +0100
Bug: N/A
Description:
Fix jive connection issue. If a http socket is closed while an async dns
request is happening, the socket would get into a bad state and
stop working. This could cause connection problems with SN.
Modified:
7.4/trunk/ (props changed)
7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SocketHttp.lua
Propchange: 7.4/trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Fri Apr 3 13:37:58 2009
@@ -3,7 +3,7 @@
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/trunk:2920
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.2/trunk:2921
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/private-branches/jive-refresh:3653
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:5130
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:5141
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2013
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378
Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SocketHttp.lua
URL:
http://svn.slimdevices.com/jive/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SocketHttp.lua?rev=5143&r1=5142&r2=5143&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SocketHttp.lua
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SocketHttp.lua Fri Apr
3 13:37:58 2009
@@ -210,21 +210,27 @@
return
end
- local t = Task(tostring(self) .. "(D)",
- self,
- function()
- log:debug(self, " DNS loopup for ", self.host)
- local ip, err = DNS:toip(self.host)
-
- log:debug(self, " IP=", ip)
- if not ip then
- self:close(self.host .. " " .. err)
- return
- end
-
- self.t_tcp.address = ip
- self:t_nextSendState(true, 't_sendConnect')
- end)
+ local t = Task(tostring(self) .. "(D)", self, function()
+ log:debug(self, " DNS loopup for ", self.host)
+ local ip, err = DNS:toip(self.host)
+
+ -- make sure the socket has not closed while
+ -- resolving DNS
+ if self.t_httpSendState ~= 't_sendResolve' then
+ log:debug(self, " socket closed during DNS request")
+ return
+ end
+
+ log:debug(self, " IP=", ip)
+ if not ip then
+ self:close(self.host .. " " .. err)
+ return
+ end
+
+ self.t_tcp.address = ip
+ self:t_nextSendState(true, 't_sendConnect')
+ end)
+
t:addTask()
end
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins