Fixes #54 - handles udp socket timeout error

This commit is contained in:
sirMackk 2015-03-03 21:46:55 -05:00
parent bd7e76628b
commit 5ca4540f1d

View file

@ -36,12 +36,10 @@ def _m_search_ssdp():
sock.settimeout(5)
try:
data = sock.recv(2048)
except SocketError:
# socket has stopped reading on windows
pass
return data
return sock.recv(2048)
except socket.error:
# no reply from IGD, possibly no IGD on LAN
return False
def _retrieve_location_from_ssdp(response):
@ -173,7 +171,12 @@ def open_port(port=15441, desc="UpnpPunch"):
Attempt to forward a port using UPnP.
"""
location = _retrieve_location_from_ssdp(_m_search_ssdp())
idg_response = _m_search_ssdp()
if not idg_response:
return False
location = _retrieve_location_from_ssdp(idg_response)
if not location:
return False