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