[Groonga-commit] droonga/droonga-engine at 37e4386 [master] droonga-engine: extract as a method

Back to archive index

Kouhei Sutou null+****@clear*****
Tue Apr 22 11:34:40 JST 2014


Kouhei Sutou	2014-04-22 11:34:40 +0900 (Tue, 22 Apr 2014)

  New Revision: 37e438681d126ae7ffc8343a4417706c257ac1cd
  https://github.com/droonga/droonga-engine/commit/37e438681d126ae7ffc8343a4417706c257ac1cd

  Message:
    droonga-engine: extract as a method

  Modified files:
    lib/droonga/engine/command/droonga_engine.rb

  Modified: lib/droonga/engine/command/droonga_engine.rb (+31 -24)
===================================================================
--- lib/droonga/engine/command/droonga_engine.rb    2014-04-22 11:30:50 +0900 (7cc993f)
+++ lib/droonga/engine/command/droonga_engine.rb    2014-04-22 11:34:40 +0900 (663ab55)
@@ -112,36 +112,14 @@ module Droonga
 
           def run(command_line_arguments)
             parse_command_line_arguments!(command_line_arguments)
+
             @listen_socket = TCPServer.new(@configuration.host,
                                            @configuration.port)
             @heartbeat_socket = UDPSocket.new(@configuration.address_family)
             @heartbeat_socket.bind(@configuration.host,
                                    @configuration.port)
 
-            service_pid = nil
-            running = true
-            trap(:INT) do
-              Process.kill(:INT, service_pid)
-              running = false
-            end
-            trap(ServerEngine::Daemon::Signals::GRACEFUL_STOP) do
-              Process.kill(ServerEngine::Daemon::Signals::GRACEFUL_STOP,
-                           service_pid)
-              running = false
-            end
-            trap(ServerEngine::Daemon::Signals::IMMEDIATE_STOP) do
-              Process.kill(ServerEngine::Daemon::Signals::IMMEDIATE_STOP,
-                           service_pid)
-              running = false
-            end
-            while running
-              service_pid = run_service
-              _, status = Process.waitpid2(service_pid)
-              break if status.nil?
-              break unless status.success?
-            end
-
-            true
+            run_main_loop
           end
 
           private
@@ -169,6 +147,35 @@ module Droonga
             }
             spawn(env, *command_line, options)
           end
+
+          def run_main_loop
+            service_pid = nil
+            running = true
+
+            trap(:INT) do
+              Process.kill(:INT, service_pid)
+              running = false
+            end
+            trap(ServerEngine::Daemon::Signals::GRACEFUL_STOP) do
+              Process.kill(ServerEngine::Daemon::Signals::GRACEFUL_STOP,
+                           service_pid)
+              running = false
+            end
+            trap(ServerEngine::Daemon::Signals::IMMEDIATE_STOP) do
+              Process.kill(ServerEngine::Daemon::Signals::IMMEDIATE_STOP,
+                           service_pid)
+              running = false
+            end
+
+            while running
+              service_pid = run_service
+              _, status = Process.waitpid2(service_pid)
+              break if status.nil?
+              break unless status.success?
+            end
+
+            true
+          end
         end
 
         class Service
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index