diff options
author | Jeremy Evans <code@jeremyevans.net> | 2019-08-08 15:44:26 -0700 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2019-10-16 12:51:13 -0700 |
commit | 567e312d1f56c27ecb4fa20deac4311f05ee5507 (patch) | |
tree | ce646365886656ec13ec4e6ffc0f2d57f5dc9f91 /lib | |
parent | 50b8033d6b7404670ee985de1473fffc10dd7d9c (diff) |
Do not raise an exception on a closed DRb socket
This rescues some exceptions that could happen with a closed or
shutdown DRb socket. This can prevent the server from
exiting if an client socket is closed directly after it is
accepted.
Fixes [Bug #8039]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/2554
Diffstat (limited to 'lib')
-rw-r--r-- | lib/drb/drb.rb | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/drb/drb.rb b/lib/drb/drb.rb index 25642dd939..9b4d675096 100644 --- a/lib/drb/drb.rb +++ b/lib/drb/drb.rb @@ -1024,6 +1024,8 @@ module DRb def set_sockopt(soc) # :nodoc: soc.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) + rescue IOError, Errno::ECONNRESET, Errno::EINVAL + # closed/shutdown socket, ignore error end end |