From 14af286fc073afd943d02d220578c458b427318f Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Tue, 19 Jun 2018 23:01:19 +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.

Fixes: r53111 ("use safe navigation operator")
	commit 059c9c1cf371e049c7481c78b76e9620da52757f [GH-1142]
---
 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 @@ def service(name)
       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
-- 
EW

