* lib/drb/drb.rb: Support graceful shutdown.
  (DRbTCPSocket#initialize): Create a pipe for shutdown notification.
  (DRbTCPSocket#close): Invoke close_shutdown_pipe.
  (DRbTCPSocket#close_shutdown_pipe): New private method.
  (DRbTCPSocket#accept): Use accept_or_shutdown.
  (DRbTCPSocket#accept_or_shutdown): New private method which returns
  nil on shutdown.
  (DRbServer#stop_service): Use shutdown instead of Thread#kill.
  (DRbServer#run): Break infinite loop when main_loop returns nil.
  (DRbServer#main_loop): @protocol.accept may return nil.

* lib/drb/ssl.rb: Follow above change.

* lib/drb/unix.rb: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e