<!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">Kouhei Sutou &lt;kou****@clear*****&gt;</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Date</dt>
      <dd style="margin-left: 8.5em">2017-04-12 14:20:08 +0900 (Wed, 12 Apr 2017)</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b">bcc24d24c77bf562847997f54cd4bfcc83c3866b</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">cache persistent: support opening from multi processes on Windows

It will work...</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667">lib/file_lock.c</a></li>
          <li><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4">lib/grn_file_lock.h</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/file_lock.c (+44 -6)</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L19">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L20">20</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L21">21</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L22">22</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L23">23</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L24">24</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-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-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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L25">25</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L26">26</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L27">27</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L28">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L29">29</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L30">30</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L31">31</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L32">32</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L33">33</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L34">34</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L35">35</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L45">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L46">46</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L47">47</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L48">48</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-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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L49">49</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L50">50</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-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L51">51</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L52">52</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L53">53</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L54">54</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L55">55</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L56">56</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L57">57</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L58">58</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L59">59</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L65">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L66">66</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L67">67</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L68">68</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L69">69</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L70">70</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L71">71</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L72">72</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-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L73">73</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L74">74</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-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L75">75</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L76">76</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L77">77</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L78">78</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L79">79</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L80">80</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L81">81</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L82">82</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667L83">83</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R19">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R20">20</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R21">21</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R22">22</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-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R23">23</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R24">24</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R25">25</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R26">26</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R27">27</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R28">28</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R29">29</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R30">30</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R31">31</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R32">32</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R33">33</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R34">34</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R35">35</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R36">36</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R37">37</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R38">38</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R39">39</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R40">40</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R41">41</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R42">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R43">43</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R44">44</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R45">45</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R46">46</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R47">47</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R48">48</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R49">49</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R50">50</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R51">51</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R52">52</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R53">53</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R63">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R64">64</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R65">65</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R66">66</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R67">67</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R68">68</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R69">69</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R70">70</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R71">71</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R72">72</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R73">73</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R74">74</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R75">75</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R76">76</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: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R77">77</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R78">78</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R79">79</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R80">80</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R81">81</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R82">82</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R83">83</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: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R84">84</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R85">85</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R86">86</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R87">87</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R93">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R94">94</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R95">95</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R96">96</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: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R97">97</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R98">98</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R99">99</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R100">100</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R101">101</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R102">102</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R103">103</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R104">104</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R105">105</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R106">106</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R107">107</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R108">108</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R109">109</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R110">110</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R111">111</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R112">112</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R113">113</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R114">114</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R115">115</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R116">116</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R117">117</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: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R118">118</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R119">119</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R120">120</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-b3711ca28d065f9e1492e81914f52667R121">121</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">@@ -20,8 +20,22 @@</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> #include &quot;grn_ctx.h&quot;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> #include &lt;sys/stat.h&gt;</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-#include &lt;sys/types.h&gt;</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-#include &lt;fcntl.h&gt;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#ifdef WIN32</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+# include &lt;io.h&gt;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+# include &lt;share.h&gt;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#else /* WIN32 */</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+# include &lt;sys/types.h&gt;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+# include &lt;fcntl.h&gt;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#endif /* WIN32 */</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#ifdef WIN32</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+# define GRN_FILE_LOCK_IS_INVALID(file_lock)       \</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  ((file_lock)-&gt;handle == INVALID_HANDLE_VALUE)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#else /* WIN32 */</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+# define GRN_FILE_LOCK_IS_INVALID(file_lock)    \</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  ((file_lock)-&gt;fd == -1)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#endif /* WIN32 */</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> void</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> grn_file_lock_init(grn_ctx *ctx,</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -29,7 +43,11 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">grn_file_lock_init(grn_ctx *ctx,</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">                    const char *path)</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> {</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   file_lock-&gt;path = path;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#ifdef WIN32</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  file_lock-&gt;handle = INVALID_HANDLE_VALUE;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#else /* WIN32 */</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   file_lock-&gt;fd = -1;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#endif /* WIN32 */</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> }</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> grn_bool</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -46,14 +64,24 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">grn_file_lock_acquire(grn_ctx *ctx,</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   }</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">   for (i = 0; i &lt; n_lock_tries; i++) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#ifdef WIN32</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    file_lock-&gt;handle = CreateFile(file_lock-&gt;path,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                                   GENERIC_READ | GENERIC_WRITE,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                                   0,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                                   NULL,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                                   CREATE_ALWAYS,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                                   FILE_ATTRIBUTE_NORMAL,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                                   NULL);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#else /* WIN32 */</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     file_lock-&gt;fd = open(file_lock-&gt;path, O_CREAT | O_EXCL);</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    if (file_lock-&gt;fd != -1) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#endif</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    if (!GRN_FILE_LOCK_IS_INVALID(file_lock)) {</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       break;</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     }</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     grn_nanosleep(GRN_LOCK_WAIT_TIME_NANOSECOND);</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   }</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-  if (file_lock<span class="diff-deleted-word" style="background-color: #f8cbcb; color: #000000">-&gt;fd == -1</span>) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  if (<span class="diff-added-word" style="background-color: #a6f3a6; color: #000000">GRN_FILE_LOCK_IS_INVALID(</span>file_lock<span class="diff-added-word" style="background-color: #a6f3a6; color: #000000">)</span>) {</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     ERR(GRN_NO_LOCKS_AVAILABLE,</span>
<span class="diff-not-changed" style="display: block; white-space: pre">         &quot;%s failed to acquire lock: &lt;%s&gt;&quot;,</span>
<span class="diff-not-changed" style="display: block; white-space: pre">         error_message_tag, file_lock-&gt;path);</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -66,18 +94,28 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">grn_file_lock_acquire(grn_ctx *ctx,</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre"> void</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> grn_file_lock_release(grn_ctx *ctx, grn_file_lock *file_lock)</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> {</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-  if (file_lock<span class="diff-deleted-word" style="background-color: #f8cbcb; color: #000000">-&gt;fd == -1</span>) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  if (<span class="diff-added-word" style="background-color: #a6f3a6; color: #000000">GRN_FILE_LOCK_IS_INVALID(</span>file_lock<span class="diff-added-word" style="background-color: #a6f3a6; color: #000000">)</span>) {</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     return;</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   }</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#ifdef WIN32</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  CloseHandle(file_lock-&gt;handle);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  DeleteFile(file_lock-&gt;path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  file_lock-&gt;handle = INVALID_HANDLE_VALUE;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#else /* WIN32 */</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   close(file_lock-&gt;fd);</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   unlink(file_lock-&gt;path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  file_lock-&gt;fd = -1;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#endif /* WIN32 */</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  file_lock-&gt;path = NULL;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> }</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> void</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> grn_file_lock_fin(grn_ctx *ctx, grn_file_lock *file_lock)</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> {</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-  if (file_lock<span class="diff-deleted-word" style="background-color: #f8cbcb; color: #000000">-&gt;fd != -1</span>) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  if (<span class="diff-added-word" style="background-color: #a6f3a6; color: #000000">!GRN_FILE_LOCK_IS_INVALID(</span>file_lock<span class="diff-added-word" style="background-color: #a6f3a6; color: #000000">)</span>) {</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     grn_file_lock_release(ctx, file_lock);</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   }</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> }</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/grn_file_lock.h (+4 -0)</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4L25">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4L26">26</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4L27">27</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4L28">28</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4L29">29</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4L30">30</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4L31">31</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4L32">32</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/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R25">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R26">26</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R27">27</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R28">28</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R29">29</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R30">30</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R31">31</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R32">32</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R33">33</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R34">34</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R35">35</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/bcc24d24c77bf562847997f54cd4bfcc83c3866b#diff-87b04623d77d5a286ce017a12a7103e4R36">36</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">@@ -26,7 +26,11 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">extern &quot;C&quot; {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> typedef struct {</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   const char *path;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#ifdef WIN32</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  HANDLE handle;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#else /* WIN32 */</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   int fd;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#endif /* WIN32 */</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> } grn_file_lock;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> void grn_file_lock_init(grn_ctx *ctx,</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>