File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed
Filter options
Expand file tree Collapse file tree 1 file changed +7
-1
lines changed
Original file line number Diff line number Diff line change @@ -1295,12 +1295,18 @@ def new_socket():
1295
1295
# Volume 2"), but some BSD-derived systems require
1296
1296
# SO_REUSEPORT to be specified explicity. Also, not all
1297
1297
# versions of Python have SO_REUSEPORT available.
1298
+ # Catch OSError and socket.error for kernel versions <3.9 because lacking
1299
+ # SO_REUSEPORT support.
1298
1300
try :
1299
1301
reuseport = socket .SO_REUSEPORT
1300
1302
except AttributeError :
1301
1303
pass
1302
1304
else :
1303
- s .setsockopt (socket .SOL_SOCKET , reuseport , 1 )
1305
+ try :
1306
+ s .setsockopt (socket .SOL_SOCKET , reuseport , 1 )
1307
+ except (OSError , socket .error ) as err : # OSError on python 3, socket.error on python 2
1308
+ if not err .errno == errno .ENOPROTOOPT :
1309
+ raise
1304
1310
1305
1311
s .setsockopt (socket .IPPROTO_IP , socket .IP_MULTICAST_TTL , 255 )
1306
1312
s .setsockopt (socket .IPPROTO_IP , socket .IP_MULTICAST_LOOP , 1 )
You can’t perform that action at this time.
0 commit comments