From 79108d0fdb275dd83f4b9c26aff25358ac626a69 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Fri, 22 Apr 2016 13:41:00 -0700 Subject: [PATCH] Changed some 'require' to 'require_relative' and modified rpc_server slightly --- src/ruby/lib/grpc.rb | 20 ++++++++++---------- src/ruby/lib/grpc/core/time_consts.rb | 2 +- src/ruby/lib/grpc/errors.rb | 2 +- src/ruby/lib/grpc/generic/active_call.rb | 2 +- src/ruby/lib/grpc/generic/bidi_call.rb | 2 +- src/ruby/lib/grpc/generic/client_stub.rb | 4 ++-- src/ruby/lib/grpc/generic/rpc_desc.rb | 2 +- src/ruby/lib/grpc/generic/rpc_server.rb | 14 +++++++++----- src/ruby/lib/grpc/generic/service.rb | 4 ++-- src/ruby/lib/grpc/grpc.rb | 4 ++-- 10 files changed, 30 insertions(+), 26 deletions(-) diff --git a/src/ruby/lib/grpc.rb b/src/ruby/lib/grpc.rb index 4e23cd7af2d..a56c49ff59e 100644 --- a/src/ruby/lib/grpc.rb +++ b/src/ruby/lib/grpc.rb @@ -32,13 +32,13 @@ unless ENV['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] ENV['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] = ssl_roots_path end -require 'grpc/errors' -require 'grpc/grpc' -require 'grpc/logconfig' -require 'grpc/notifier' -require 'grpc/version' -require 'grpc/core/time_consts' -require 'grpc/generic/active_call' -require 'grpc/generic/client_stub' -require 'grpc/generic/service' -require 'grpc/generic/rpc_server' +require_relative 'grpc/errors' +require_relative 'grpc/grpc' +require_relative 'grpc/logconfig' +require_relative 'grpc/notifier' +require_relative 'grpc/version' +require_relative 'grpc/core/time_consts' +require_relative 'grpc/generic/active_call' +require_relative 'grpc/generic/client_stub' +require_relative 'grpc/generic/service' +require_relative 'grpc/generic/rpc_server' diff --git a/src/ruby/lib/grpc/core/time_consts.rb b/src/ruby/lib/grpc/core/time_consts.rb index 3b8c2daa07e..5be7ed2cb79 100644 --- a/src/ruby/lib/grpc/core/time_consts.rb +++ b/src/ruby/lib/grpc/core/time_consts.rb @@ -27,7 +27,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -require 'grpc/grpc' +require_relative '../grpc' # GRPC contains the General RPC module. module GRPC diff --git a/src/ruby/lib/grpc/errors.rb b/src/ruby/lib/grpc/errors.rb index 1d7588c18df..a1dd1e3e9d8 100644 --- a/src/ruby/lib/grpc/errors.rb +++ b/src/ruby/lib/grpc/errors.rb @@ -27,7 +27,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -require 'grpc/grpc' +require_relative './grpc' # GRPC contains the General RPC module. module GRPC diff --git a/src/ruby/lib/grpc/generic/active_call.rb b/src/ruby/lib/grpc/generic/active_call.rb index e80d24edc9b..24cab950a79 100644 --- a/src/ruby/lib/grpc/generic/active_call.rb +++ b/src/ruby/lib/grpc/generic/active_call.rb @@ -28,7 +28,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. require 'forwardable' -require 'grpc/generic/bidi_call' +require_relative 'bidi_call' class Struct # BatchResult is the struct returned by calls to call#start_batch. diff --git a/src/ruby/lib/grpc/generic/bidi_call.rb b/src/ruby/lib/grpc/generic/bidi_call.rb index 6b9b7856933..1f6d5f365d7 100644 --- a/src/ruby/lib/grpc/generic/bidi_call.rb +++ b/src/ruby/lib/grpc/generic/bidi_call.rb @@ -28,7 +28,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. require 'forwardable' -require 'grpc/grpc' +require_relative '../grpc' # GRPC contains the General RPC module. module GRPC diff --git a/src/ruby/lib/grpc/generic/client_stub.rb b/src/ruby/lib/grpc/generic/client_stub.rb index a6bb92d72c8..68e167a69fc 100644 --- a/src/ruby/lib/grpc/generic/client_stub.rb +++ b/src/ruby/lib/grpc/generic/client_stub.rb @@ -27,8 +27,8 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -require 'grpc/generic/active_call' -require 'grpc/version' +require_relative 'active_call' +require_relative '../version' # GRPC contains the General RPC module. module GRPC diff --git a/src/ruby/lib/grpc/generic/rpc_desc.rb b/src/ruby/lib/grpc/generic/rpc_desc.rb index dd90d8d91dc..cc21ffd3c5b 100644 --- a/src/ruby/lib/grpc/generic/rpc_desc.rb +++ b/src/ruby/lib/grpc/generic/rpc_desc.rb @@ -27,7 +27,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -require 'grpc/grpc' +require_relative '../grpc' # GRPC contains the General RPC module. module GRPC diff --git a/src/ruby/lib/grpc/generic/rpc_server.rb b/src/ruby/lib/grpc/generic/rpc_server.rb index 5ba77db1737..7f3a38a9f46 100644 --- a/src/ruby/lib/grpc/generic/rpc_server.rb +++ b/src/ruby/lib/grpc/generic/rpc_server.rb @@ -27,9 +27,9 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -require 'grpc/grpc' -require 'grpc/generic/active_call' -require 'grpc/generic/service' +require_relative '../grpc' +require_relative 'active_call' +require_relative 'service' require 'thread' # A global that contains signals the gRPC servers should respond to. @@ -332,10 +332,15 @@ module GRPC # the current thread to terminate it. def run_till_terminated GRPC.trap_signals - t = Thread.new { run } + stopped = false + t = Thread.new do + run + stopped = true + end wait_till_running loop do sleep SIGNAL_CHECK_PERIOD + break if stopped break unless GRPC.handle_signals end stop @@ -434,7 +439,6 @@ module GRPC begin an_rpc = @server.request_call(@cq, loop_tag, INFINITE_FUTURE) break if (!an_rpc.nil?) && an_rpc.call.nil? - active_call = new_active_server_call(an_rpc) unless active_call.nil? @pool.schedule(active_call) do |ac| diff --git a/src/ruby/lib/grpc/generic/service.rb b/src/ruby/lib/grpc/generic/service.rb index 410e1add7dc..8e940b5b13e 100644 --- a/src/ruby/lib/grpc/generic/service.rb +++ b/src/ruby/lib/grpc/generic/service.rb @@ -27,8 +27,8 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -require 'grpc/generic/client_stub' -require 'grpc/generic/rpc_desc' +require_relative 'client_stub' +require_relative 'rpc_desc' # GRPC contains the General RPC module. module GRPC diff --git a/src/ruby/lib/grpc/grpc.rb b/src/ruby/lib/grpc/grpc.rb index 250f6dd30d4..b60a828d666 100644 --- a/src/ruby/lib/grpc/grpc.rb +++ b/src/ruby/lib/grpc/grpc.rb @@ -28,7 +28,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. begin - require "grpc/#{RUBY_VERSION.sub(/\.\d$/, '')}/grpc_c" + require_relative "#{RUBY_VERSION.sub(/\.\d$/, '')}/grpc_c" rescue LoadError - require 'grpc/grpc_c' + require_relative 'grpc_c' end