Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 4b8f68b

Browse filesBrowse files
committed
Refactor exception handling here
1 parent 8f18609 commit 4b8f68b
Copy full SHA for 4b8f68b

File tree

1 file changed

+12
-10
lines changed
Filter options

1 file changed

+12
-10
lines changed

‎zeroconf.py

Copy file name to clipboardExpand all lines: zeroconf.py
+12-10Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1239,17 +1239,19 @@ def __init__(self, bindaddress=None):
12391239
log.debug('Bind address is %r' % (self.intf,))
12401240
self.group = ('', _MDNS_PORT)
12411241
self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
1242+
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
1243+
1244+
# SO_REUSEADDR should be equivalent to SO_REUSEPORT for
1245+
# multicast UDP sockets (p 731, "TCP/IP Illustrated,
1246+
# Volume 2"), but some BSD-derived systems require
1247+
# SO_REUSEPORT to be specified explicity. Also, not all
1248+
# versions of Python have SO_REUSEPORT available.
12421249
try:
1243-
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
1244-
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
1245-
except Exception as e: # TODO stop catching all Exceptions
1246-
# SO_REUSEADDR should be equivalent to SO_REUSEPORT for
1247-
# multicast UDP sockets (p 731, "TCP/IP Illustrated,
1248-
# Volume 2"), but some BSD-derived systems require
1249-
# SO_REUSEPORT to be specified explicity. Also, not all
1250-
# versions of Python have SO_REUSEPORT available.
1251-
#
1252-
log.exception('Unknown error, possibly benign: %r', e)
1250+
reuseport = socket.SO_REUSEPORT
1251+
except AttributeError:
1252+
pass
1253+
else:
1254+
self.socket.setsockopt(socket.SOL_SOCKET, reuseport, 1)
12531255

12541256
self.socket.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 255)
12551257
self.socket.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, 1)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.