From 31eed6c5e5bdba7d47e036e96f232e471890e565 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Mon, 9 Dec 2019 14:47:00 -0800 Subject: [PATCH] Improve detecting of a run PIO Home Server --- platformio/commands/home/command.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/platformio/commands/home/command.py b/platformio/commands/home/command.py index 5d231421..c5d5dc14 100644 --- a/platformio/commands/home/command.py +++ b/platformio/commands/home/command.py @@ -21,6 +21,7 @@ from os.path import isdir import click from platformio import exception +from platformio.compat import WINDOWS from platformio.managers.core import get_core_package_dir, inject_contrib_pysite @@ -123,11 +124,20 @@ def cli(port, host, no_open, shutdown_timeout): def is_port_used(host, port): - try: - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.bind((host, port)) - s.close() - return False - except (OSError, socket.error): - pass + socket.setdefaulttimeout(1) + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + if WINDOWS: + try: + s.bind((host, port)) + s.close() + return False + except (OSError, socket.error): + pass + else: + try: + s.connect((host, port)) + s.close() + except socket.error: + return False + return True