<!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 <kou****@clear*****></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, "Liberation Mono", 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, "Liberation Mono", 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, "Liberation Mono", 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"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </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"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </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"> </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"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </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"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </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"> </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"> </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"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </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"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </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"> </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, "Liberation Mono", 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"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </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"> </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"> </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"> </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"> </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, "Liberation Mono", 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 "grn_ctx.h"</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 <sys/stat.h></span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-#include <sys/types.h></span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-#include <fcntl.h></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 <io.h></span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+# include <share.h></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 <sys/types.h></span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+# include <fcntl.h></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)->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)->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->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->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->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 < 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->handle = CreateFile(file_lock->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->fd = open(file_lock->path, O_CREAT | O_EXCL);</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">- if (file_lock->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">->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"> "%s failed to acquire lock: <%s>",</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> error_message_tag, file_lock->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">->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->handle);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+ DeleteFile(file_lock->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->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->fd);</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> unlink(file_lock->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->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->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">->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, "Liberation Mono", 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, "Liberation Mono", 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"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </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"> </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, "Liberation Mono", 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, "Liberation Mono", 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 "C" {</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>