From d4eec490c3e57f3aee75427eccb871ad5fd1e4fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= <sybren@stuvel.eu>
Date: Wed, 6 Sep 2017 14:36:38 +0200
Subject: [PATCH] SSDP discovery: allow multicast TTL setting to fail

Apparently it's not supported on Windows when using IPv6.
---
 flamenco_worker/ssdp_discover.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/flamenco_worker/ssdp_discover.py b/flamenco_worker/ssdp_discover.py
index 8f1bdc12..0804bbaa 100644
--- a/flamenco_worker/ssdp_discover.py
+++ b/flamenco_worker/ssdp_discover.py
@@ -60,7 +60,11 @@ def find_flamenco_manager(timeout=1, retries=5):
             sock = socket.socket(family, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
             sock.settimeout(timeout)
             sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-            sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2)
+            try:
+                sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 32)
+            except OSError:
+                # Not supported on Windows and AF_INET6.
+                pass
             sock.bind(('', 1901))
 
             try:
-- 
GitLab