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