From 9436af9d72061137e427c6a1096300a6f0dde6e6 Mon Sep 17 00:00:00 2001 From: Dmitry Davydov Date: Sat, 22 Jun 2024 19:49:57 +0700 Subject: [PATCH] make connect_timeout work with DNS resolution Before it could timeout connection process, but still wait for DNS resolution for long time. It's possible to interrupt addrinfo in ruby 3+ --- lib/webpacker/dev_server.rb | 2 +- lib/webpacker/dev_server_runner.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/webpacker/dev_server.rb b/lib/webpacker/dev_server.rb index d9dae3447..c002ec5a7 100644 --- a/lib/webpacker/dev_server.rb +++ b/lib/webpacker/dev_server.rb @@ -13,7 +13,7 @@ def initialize(config) def running? if config.dev_server.present? - Socket.tcp(host, port, connect_timeout: connect_timeout).close + Timeout.timeout(connect_timeout) { Socket.tcp(host, port).close } true else false diff --git a/lib/webpacker/dev_server_runner.rb b/lib/webpacker/dev_server_runner.rb index 0ce83623c..b709be868 100644 --- a/lib/webpacker/dev_server_runner.rb +++ b/lib/webpacker/dev_server_runner.rb @@ -1,5 +1,6 @@ require "shellwords" require "socket" +require "timeout" require "webpacker/configuration" require "webpacker/dev_server" require "webpacker/runner"