This commit is contained in:
Kovid Goyal 2010-02-15 01:36:08 -07:00
parent 7a5e3e8182
commit c484d9dcc1

View File

@ -3,7 +3,7 @@ __license__ = 'GPL 3'
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en' __docformat__ = 'restructuredtext en'
import socket, time import socket, time, atexit
_server = None _server = None
@ -36,7 +36,14 @@ def start_server():
global _server global _server
if _server is None: if _server is None:
from calibre.utils.Zeroconf import Zeroconf from calibre.utils.Zeroconf import Zeroconf
_server = Zeroconf(bindaddress=get_external_ip()) try:
_server = Zeroconf()
except:
time.sleep(0.2)
_server = Zeroconf()
atexit.register(stop_server)
return _server return _server
def publish(desc, type, port, properties=None, add_hostname=True): def publish(desc, type, port, properties=None, add_hostname=True):
@ -70,4 +77,7 @@ def publish(desc, type, port, properties=None, add_hostname=True):
def stop_server(): def stop_server():
global _server global _server
if _server is not None: if _server is not None:
_server.close() try:
_server.close()
finally:
_server = None