From 0c53b400336608795b0d0b3e33e02264474d6f77 Mon Sep 17 00:00:00 2001 From: normal Date: Tue, 19 Jun 2018 23:20:36 +0000 Subject: [PATCH] lib/drb/extservm.rb (service): do not return `false' invoke_service_command may set entries in @servers to `false', making it incompatible with the intended use of the safe navigation operator. This caused occasional DRb test failures, but they were hidden with automatic retry. [ruby-core:87524] [Bug #14856] Fixes: r53111 ("use safe navigation operator") commit 059c9c1cf371e049c7481c78b76e9620da52757f [GH-1142] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/drb/extservm.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/drb/extservm.rb b/lib/drb/extservm.rb index 5d779f51f5..2d3c369bbf 100644 --- a/lib/drb/extservm.rb +++ b/lib/drb/extservm.rb @@ -37,7 +37,7 @@ module DRb synchronize do while true server = @servers[name] - return server if server&.alive? + return server if server && server.alive? # server may be `false' invoke_service(name) @cond.wait end