<p>I honestly have no idea how to do that. (I'm a hardware guy, not familiar with collaboration tools and procedures.)</p>

<p>Here are the change sets though:</p>

<ul>
<li>src/gen_tile_test.cpp, Add the following includes</li>
</ul>

<div class="highlight highlight-source-c++"><pre>#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds"><</span>pthread.h<span class="pl-pds">></span></span>
#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds"><</span>sys/wait.h<span class="pl-pds">></span></span></pre></div>

<ul>
<li>src/gen_tile_test.cpp, change *addition_thread() to look like this:</li>
</ul>

<div class="highlight highlight-source-c++"><pre><span class="pl-k">void</span> *<span class="pl-en">addition_thread</span>(<span class="pl-k">void</span> * arg) {
    <span class="pl-k">struct</span> <span class="pl-en">request_queue</span> * queue = (<span class="pl-k">struct</span> <span class="pl-en">request_queue</span> *)arg;
    <span class="pl-k">struct</span> <span class="pl-en">item</span> * item;
    <span class="pl-k">struct</span> <span class="pl-en">timespec</span> time;
    <span class="pl-c">//unsigned int seed = syscall(SYS_gettid);</span>
    <span class="pl-k">unsigned</span> <span class="pl-k">int</span> seed = (<span class="pl-k">unsigned</span> <span class="pl-k">long</span> <span class="pl-k">long</span> <span class="pl-k">int</span>)<span class="pl-c1">pthread_self</span>();
    #<span class="pl-k">ifdef</span> __MACH__ <span class="pl-c">// OS X does not have clock_gettime, use clock_get_time</span></pre></div>

<ul>
<li>src/mod_tile.c Change the hashkey line to look like this</li>
</ul>

<div class="highlight highlight-source-c++"><pre><span class="pl-c">//hashkey = (ip.s6_addr32[0] ^ ip.s6_addr32[1] ^ ip.s6_addr32[2] ^ ip.s6_addr32[3]) % DELAY_HASHTABLE_SIZ</span>
hashkey = (*((<span class="pl-c1">uint32_t</span> *)(&ip.s6_addr[<span class="pl-c1">0</span>])) ^ *((<span class="pl-c1">uint32_t</span> *)(&ip.s6_addr[<span class="pl-c1">4</span>])) ^ *((<span class="pl-c1">uint32_t</span> *)(&ip.s6_addr[<span class="pl-c1">8</span>])) ^ *((<span class="pl-c1">uint32_t</span> *)(&ip.s6_addr[<span class="pl-c1">12</span>]))) % DELAY_HASHTABLE_SIZE;</pre></div>

<p>Then it should compile. Feel free to turn these change sets into a patch to put upstream. Good luck!</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/openstreetmap/mod_tile/issues/114#issuecomment-153441699">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AD2-7uaoBQyekHhaHLycABnL2u6KeX35ks5pCPFdgaJpZM4GT8pe.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/openstreetmap/mod_tile/issues/114#issuecomment-153441699"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>