<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <dl style="line-height: 1.5; margin-left: 2em">
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Author</dt>
      <dd style="margin-left: 8.5em">YUKI Hiroshi &lt;shimo****@clear*****&gt;</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Date</dt>
      <dd style="margin-left: 8.5em">2015-04-22 15:32:28 +0900 (Wed, 22 Apr 2015)</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">New Revision</dt>
      <dd style="margin-left: 8.5em"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082">139c5e10586e9bdb9d5fd0c0199f39a655451082</a></dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Message</dt>
      <dd style="margin-left: 8.5em"><pre style="border: 1px solid #aaa; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; padding: 0.5em; width: auto">stop_gracefully: Wait until all clients are disconnected</pre></dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Modified files</dt>
      <dd style="margin-left: 8.5em">
        <ul>
          <li><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#diff-0">lib/droonga/command/droonga_engine_service.rb</a></li>
          <li><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#diff-1">lib/droonga/fluent_message_receiver.rb</a></li>
        </ul>
      </dd>
    </dl>

    <div class="diff-section" style="clear: both">
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Modified: lib/droonga/command/droonga_engine_service.rb (+2 -2)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L212">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L213">213</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L214">214</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L215">215</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L216">216</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L217">217</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L218">218</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L219">219</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L220">220</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L221">221</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L222">222</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L223">223</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L224">224</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L225">225</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L226">226</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0L227">227</a></span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R212">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R213">213</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R214">214</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R215">215</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R216">216</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R217">217</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R218">218</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R219">219</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R220">220</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R221">221</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R222">222</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R223">223</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R224">224</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R225">225</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R226">226</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L0R227">227</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -213,15 +213,15 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">module Droonga</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">         return if @stopping</span>
<span class="diff-not-changed" style="display: block; white-space: pre">         logger.trace(&quot;stop_gracefully: start&quot;)</span>
<span class="diff-not-changed" style="display: block; white-space: pre">         @stopping = true</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-        @receiver.stop_gracefully</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+        @receiver.stop_gracefully do</span>
<span class="diff-not-changed" style="display: block; white-space: pre">         @engine.stop_gracefully do</span>
<span class="diff-not-changed" style="display: block; white-space: pre">           shutdown_worker_process_agent</span>
<span class="diff-not-changed" style="display: block; white-space: pre">           shutdown_internal_message_receiver</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-          @receiver.shutdown_clients</span>
<span class="diff-not-changed" style="display: block; white-space: pre">           logger.trace(&quot;stop_gracefully: done&quot;,</span>
<span class="diff-not-changed" style="display: block; white-space: pre">                        :n_rest_watchers =&gt; @loop.watchers.size,</span>
<span class="diff-not-changed" style="display: block; white-space: pre">                        :rest_watchers   =&gt; @loop.watchers)</span>
<span class="diff-not-changed" style="display: block; white-space: pre">         end</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+        end</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       end</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">       # It may be called after stop_gracefully.</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Modified: lib/droonga/fluent_message_receiver.rb (+12 -1)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L30">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L31">31</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L32">32</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L33">33</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L34">34</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L35">35</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L36">36</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L39">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L40">40</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L41">41</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L42">42</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L43">43</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L44">44</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L45">45</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L46">46</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L47">47</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L48">48</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L49">49</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L50">50</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L86">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L87">87</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L88">88</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L89">89</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L90">90</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L91">91</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1L92">92</a></span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R30">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R31">31</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R32">32</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R33">33</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R34">34</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R35">35</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R36">36</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R37">37</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R40">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R41">41</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R42">42</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R43">43</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R44">44</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R45">45</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R46">46</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R47">47</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R48">48</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R49">49</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R50">50</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R51">51</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R52">52</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R53">53</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R54">54</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R55">55</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R56">56</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R57">57</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R58">58</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R94">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R95">95</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R96">96</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R97">97</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R98">98</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R99">99</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R100">100</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R101">101</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R102">102</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/droonga/droonga-engine/commit/139c5e10586e9bdb9d5fd0c0199f39a655451082#L1R103">103</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -31,6 +31,7 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">module Droonga</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">       @server = nil</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       @clients = []</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       @on_message = on_message</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      @on_shutdown_ready = nil</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     end</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">     def start</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -40,11 +41,18 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">module Droonga</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">       logger.trace(&quot;start: done&quot;)</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     end</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-    def stop_gracefully</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+    def stop_gracefully(&amp;block)</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       logger.trace(&quot;stop_gracefully: start&quot;)</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       shutdown_heartbeat_receiver</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       logger.trace(&quot;stop_gracefully: middle&quot;)</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       shutdown_server</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      if @clients.empty?</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+        yield</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      elsif block_given?</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+        @on_shutdown_ready = lambda do</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+          yield</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+        end</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      end</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       logger.trace(&quot;stop_gracefully: done&quot;)</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     end</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -87,6 +95,9 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">module Droonga</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">         end</span>
<span class="diff-not-changed" style="display: block; white-space: pre">         client.on_close = lambda do</span>
<span class="diff-not-changed" style="display: block; white-space: pre">           @clients.delete(client)</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+          if @on_shutdown_ready and @clients.empty?</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+            @on_shutdown_ready.call</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+          end</span>
<span class="diff-not-changed" style="display: block; white-space: pre">         end</span>
<span class="diff-not-changed" style="display: block; white-space: pre">         @clients &lt;&lt; client</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       end</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>