From: SEKI Masatoshi Date: 2011-06-26T20:49:24+09:00 Subject: [ruby-core:37520] Re: [Ruby 1.9 - Bug #4243] [PATCH] DRb should not forefully close connections on DRb#stop_service 咳といいます。 これ処理済みな感じがします。 パッチはよくわからなかったのでrejectしました。 r32028 (trunk) lib/drb/drb.rb (kill_sub_thread): remove the method. [ruby-core:34185] On 2011/06/26, at 16:10, Hiroshi NAKAMURA wrote: > > Issue #4243 has been updated by Hiroshi NAKAMURA. > > Target version changed from 1.9.2 to 1.9.3 > > > ---------------------------------------- > Bug #4243: [PATCH] DRb should not forefully close connections on DRb#stop_service > http://redmine.ruby-lang.org/issues/4243 > > Author: Jonas Pfenniger > Status: Assigned > Priority: Normal > Assignee: Masatoshi Seki > Category: lib > Target version: 1.9.3 > ruby -v: 1.9.2@30363 > > > =begin > When DRb#stop_service is called, all connections get terminated by > calling Thread.kill on them. It means that all code that is invoked trough > DRb must be exception-safe. This poses the same kind of issues we have > with Kernel#timeout. > > This patch changes the behavior or DRb to only kill the accepting > thread, so that no new connections are made. New queries are also > rejected. DRb#stop_service is synchronous and waits for all child-threads > to terminate. > --- > Please note that this patch is quite old, so I may have forgotten some details > of it. It was posted on rubyforge at http://rubyforge.org/tracker/?func=detail&atid=1698&aid=14438&group_id=426. > The new version got imported into git and applies on top of ae3666b38fd723231c0bbc3c33f4603b6e0e0ef0 or svn r30363 (not sure about the patch format) > > This patch can easily be back-ported to 1.8.x since drb.rb hasn't changed much. > > Cheers, > zimbatm > =end > > > > -- > http://redmine.ruby-lang.org >