From ab3944724882fd8a33ff9636d713d40217c24864 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me> Date: Mon, 27 Apr 2020 17:32:38 -0400 Subject: [PATCH] Improved quiting mechanism again --- lib/aethyr/core/connection/login.rb | 1 + lib/aethyr/core/connection/server.rb | 13 ++++--------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/aethyr/core/connection/login.rb b/lib/aethyr/core/connection/login.rb index 6d9b73d..02a04c4 100644 --- a/lib/aethyr/core/connection/login.rb +++ b/lib/aethyr/core/connection/login.rb @@ -9,6 +9,7 @@ module Login #Get input from io connection and process it def receive_data + return false if closed? data = @display.recv return false if data.nil? return false if data == '' diff --git a/lib/aethyr/core/connection/server.rb b/lib/aethyr/core/connection/server.rb index cbf1b6b..e0e2451 100644 --- a/lib/aethyr/core/connection/server.rb +++ b/lib/aethyr/core/connection/server.rb @@ -67,16 +67,11 @@ module Aethyr end players.each do |player| - begin - player.receive_data - rescue Exception => e - log "Closing connection for #{player}" - begin - player.socket.close - rescue - end + if player.closed? + log "Player #{player} has closed connection, removing from server queue" players.delete(player) - log e.message + "\n" + e.backtrace.join("\n") unless player.closed? + else + player.receive_data end end -- GitLab