thanks<div><br></div><div>Simon</div><div><br></div><div><div><font size="1" face="courier new, monospace">//Windows 9x FLOCK Alternative - Chozo4</font></div><div><font size="1" face="courier new, monospace">//Passes multiple instance stress testing</font></div>
<div><font size="1" face="courier new, monospace">//<a href="http://mechresource.myvnc.com/board">http://mechresource.myvnc.com/board</a></font></div><div><font size="1" face="courier new, monospace">//Modified (breaks and returns 0 on failure,</font></div>
<div><font size="1" face="courier new, monospace">// or returns 1 on success) by Mateusz Czaplinski, 22.01.2008</font></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace">function aquirelock($wp) {</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>//Check if lock doesn't exist or our target is unwritable</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">    </span>if(file_exists("$wp.l") || !is_writable($wp))</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">               </span>return 0;</font></div><div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">   </span>//create the lock - hide warnings and pass empty if already created from racing</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>return @ fopen("$wp.l", 'x');</font></div><div><font size="1" face="courier new, monospace">}</font></div>
<div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace">function dblock($wp) {</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>global $TotalCounterEnableChmods;</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>//Check for lockfile handle - if empty , another process raced the lock so report a failure</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">      </span>$ftw = aquirelock($wp);</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>if( !$ftw )</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">              </span>return 0;</font></div>
<div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">  </span>if($TotalCounterEnableChmods) chmod($wp, 0444); //set the target file to read-only  // LINE 1163</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>fwrite($ftw, 'lock'); //write the lockfile with 4bytes</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">   </span>if($TotalCounterEnableChmods) chmod("$wp.l", 0444); //set the lockfile to read only (OPTIONAL)</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>fclose($ftw); //close our lockfile</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>clearstatcache(); //Clear the stat cache</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>return 1;</font></div><div><font size="1" face="courier new, monospace">}</font></div><div><font size="1" face="courier new, monospace"><br>
</font></div><div><font size="1" face="courier new, monospace">// Note: don't call it if 'dblock()' returned 0 !</font></div><div><font size="1" face="courier new, monospace">function dbexport_unlock($wp, $data, $meth) {</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>global $TotalCounterEnableChmods;</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>if($TotalCounterEnableChmods) chmod($wp, 0666); //Set the target file to read+write // LINE 1174</font></div>
<div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">  </span>//Write the passed string to the target file then close</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>fwrite($ftw = fopen($wp, $meth), $data);</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>fclose($ftw);</font></div>
<div><font size="1" face="courier new, monospace"><br></font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">  </span>//Validate the written data ujsing a string comparison</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">       </span>$check = file_get_contents($wp);</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre"> </span>if ($check != $data)</font></div>
<div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">               </span>echo "Data Mismatch - Locking FAILED!<br>";</font></div><div><font size="1" face="courier new, monospace"><br>
</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">      </span>chmod("$wp.l", 0666); //Set the lockfile to read+write (OPTIONAL)</font></div><div><font size="1" face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">      </span>unlink("$wp.l"); //Release the lockfile by removing it</font></div>
<div><font size="1" face="courier new, monospace">}</font></div><div><br></div><br><div class="gmail_quote">On 6 September 2012 13:30, Weldon Sams <span dir="ltr"><<a href="mailto:wjsams@gmail.com" target="_blank">wjsams@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Would you copy some of the lines around 1174 in a reply?<br clear="all"><br>       Weldon<br>
<br><br><div class="gmail_quote"><div class="im">On Wed, Sep 5, 2012 at 5:08 AM, Simon <span dir="ltr"><<a href="mailto:nzskiwi@gmail.com" target="_blank">nzskiwi@gmail.com</a>></span> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">






<div><div class="im">
I'm seeing lots of errors in my log
<div><br>
</div>
</div><div>
<div><font size="1" face="courier new, monospace">[25-Aug-2012 14:33:42] PHP Warning:  chmod() [<a href='function.chmod'>function.chmod</a>]: Operation not permitted in /home/ttc/public_html/pmwiki/cookbook/totalcounter.php on line 1163</font></div>
<div class="im">


<div><font size="1" face="courier new, monospace">[25-Aug-2012 14:33:42] PHP Warning:  chmod() [<a href='function.chmod'>function.chmod</a>]: Operation not permitted in /home/ttc/public_html/pmwiki/cookbook/totalcounter.php on line 1174</font></div>



</div></div><div class="im">
<div><br>
</div>
<div>Can anyone give me a quick heads up on what might need to be fixed?</div>
<div><br>
</div>
</div><div>ta</div><span><font color="#888888">
<div><br>
</div>
<div>Simon</div>
</font></span></div>

</blockquote></div><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>____<br><a href="http://kiwiwiki.co.nz">http://kiwiwiki.co.nz</a><br>
</div>