From 262a1fffc6b8df9b061512a74ec0d7d1dbf02f4f Mon Sep 17 00:00:00 2001 From: Daniel Colson Date: Wed, 17 Apr 2024 22:56:57 -0400 Subject: [PATCH] Always use the same array for select --- lib/nocturne/socket.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/nocturne/socket.rb b/lib/nocturne/socket.rb index 79ae294..6a51b0a 100644 --- a/lib/nocturne/socket.rb +++ b/lib/nocturne/socket.rb @@ -4,6 +4,7 @@ class Nocturne class Socket def initialize(options) @sock = ::Socket.new(::Socket::AF_INET, ::Socket::SOCK_STREAM) + @select_sock = [@sock] @sock.connect ::Socket.pack_sockaddr_in(options[:port] || 3306, options[:host] || "localhost") end @@ -14,7 +15,7 @@ def recv(buffer) result = @sock.recv_nonblock(MAX_BYTES, 0, buffer, exception: false) if :wait_readable == result - IO.select([@sock]) + IO.select(@select_sock) else return result end @@ -26,7 +27,7 @@ def sendmsg(data) result = @sock.sendmsg_nonblock(data, exception: false) if :wait_writable == result - IO.select(nil, [@sock]) + IO.select(nil, @select_sock) else return result end