OSDN Git Service

- shogi_server/players.rb: When a player was finishing with its
authorbeatles <beatles@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Fri, 2 Jan 2009 23:47:47 +0000 (23:47 +0000)
committerbeatles <beatles@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Fri, 2 Jan 2009 23:47:47 +0000 (23:47 +0000)
  write socket broken, there was a chance that the thread of the
  player in the giant lock had to wait for a long time (about 20
  seconds), which might cause threads of other players stop and
  time out. (Closes: #14469)

changelog
shogi_server/player.rb

index f502c7f..5d12c90 100644 (file)
--- a/changelog
+++ b/changelog
@@ -4,6 +4,11 @@
          - shogi_server/timeout_queue.rb: the timeout parameter of the
            constructor was not respected erroneously. This issue
            has been fixed.
+         - shogi_server/players.rb: When a player was finishing with its
+           write socket broken, there was a chance that the thread of the
+           player in the giant lock had to wait for a long time (about 20
+           seconds), which might cause threads of other players stop and 
+           time out. (Closes: #14469)
 
 2008-12-30 Daigo Moriwaki <daigo at debian dot org>
 
index 71bcab8..e9280de 100644 (file)
@@ -174,7 +174,6 @@ class Player < BasicPlayer
         log_debug("Terminating %s's write thread..." % [@name])
         if @write_thread && @write_thread.alive?
           write_safe(nil)
-          @write_thread.join
         end
         @player_logger.close if @player_logger
         log_debug("done.")