@@ -2255,7 +2255,7 @@ def new_socket(
22552255def add_multicast_member (
22562256 listen_socket : socket .socket ,
22572257 interface : Union [str , Tuple [Tuple [str , int , int ], int ]],
2258- ) -> None :
2258+ ) -> bool :
22592259 # This is based on assumptions in normalize_interface_choice
22602260 is_v6 = isinstance (interface , tuple )
22612261 err_einval = {errno .EINVAL }
@@ -2279,19 +2279,20 @@ def add_multicast_member(
22792279 'it is expected to happen on some systems' ,
22802280 interface ,
22812281 )
2282- return None
2282+ return False
22832283 elif _errno == errno .EADDRNOTAVAIL :
22842284 log .info (
22852285 'Address not available when adding %s to multicast '
22862286 'group, it is expected to happen on some systems' ,
22872287 interface ,
22882288 )
2289- return None
2289+ return False
22902290 elif _errno in err_einval :
22912291 log .info ('Interface of %s does not support multicast, ' 'it is expected in WSL' , interface )
2292- return None
2292+ return False
22932293 else :
22942294 raise
2295+ return True
22952296
22962297
22972298def new_respond_socket (
@@ -2339,8 +2340,10 @@ def create_sockets(
23392340
23402341 for i in normalized_interfaces :
23412342 if not unicast :
2342- add_multicast_member (cast (socket .socket , listen_socket ), i )
2343- respond_socket = new_respond_socket (i , apple_p2p = apple_p2p )
2343+ if add_multicast_member (cast (socket .socket , listen_socket ), i ):
2344+ respond_socket = new_respond_socket (i , apple_p2p = apple_p2p )
2345+ else :
2346+ respond_socket = None
23442347 else :
23452348 respond_socket = new_socket (
23462349 port = 0 ,
0 commit comments