diff --git a/lib/async/io/shared_endpoint.rb b/lib/async/io/shared_endpoint.rb index a929459..a259359 100644 --- a/lib/async/io/shared_endpoint.rb +++ b/lib/async/io/shared_endpoint.rb @@ -24,7 +24,10 @@ def self.bound(endpoint, backlog: Socket::SOMAXCONN, close_on_exec: false, **opt end server.close_on_exec = close_on_exec - server.reactor = nil + + if server.respond_to?(:reactor=) + server.reactor = nil + end end return self.new(endpoint, wrappers) @@ -35,7 +38,10 @@ def self.connected(endpoint, close_on_exec: false) wrapper = endpoint.connect wrapper.close_on_exec = close_on_exec - wrapper.reactor = nil + + if wrapper.respond_to?(:reactor=) + wrapper.reactor = nil + end return self.new(endpoint, [wrapper]) end