Skip to content

Commit

Permalink
Handle invalid socket options. Fixes microsoft#491
Browse files Browse the repository at this point in the history
  • Loading branch information
fabioz committed Dec 10, 2020
1 parent f9b54cd commit 991af12
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py
Original file line number Diff line number Diff line change
Expand Up @@ -441,18 +441,20 @@ def start_client(host, port):
# then sends a keepalive ping once every 3 seconds (TCP_KEEPINTVL),
# and closes the connection after 5 failed ping (TCP_KEEPCNT), or 15 seconds
try:
IPPROTO_TCP, SO_KEEPALIVE, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT = (
socket_module.IPPROTO_TCP,
socket_module.SO_KEEPALIVE,
socket_module.TCP_KEEPIDLE,
socket_module.TCP_KEEPINTVL,
socket_module.TCP_KEEPCNT,
)
s.setsockopt(SOL_SOCKET, SO_KEEPALIVE, 1)
s.setsockopt(IPPROTO_TCP, TCP_KEEPIDLE, 1)
s.setsockopt(IPPROTO_TCP, TCP_KEEPINTVL, 3)
s.setsockopt(IPPROTO_TCP, TCP_KEEPCNT, 5)
except AttributeError:
s.setsockopt(SOL_SOCKET, socket_module.SO_KEEPALIVE, 1)
except (AttributeError, OSError):
pass # May not be available everywhere.
try :
s.setsockopt(socket_module.IPPROTO_TCP, socket_module.TCP_KEEPIDLE, 1)
except (AttributeError, OSError):
pass # May not be available everywhere.
try:
s.setsockopt(socket_module.IPPROTO_TCP, socket_module.TCP_KEEPINTVL, 3)
except (AttributeError, OSError):
pass # May not be available everywhere.
try:
s.setsockopt(socket_module.IPPROTO_TCP, socket_module.TCP_KEEPCNT, 5)
except (AttributeError, OSError):
pass # May not be available everywhere.

try:
Expand Down

0 comments on commit 991af12

Please sign in to comment.