Using PHP 5.2.2-dev (cli) (built: Mar 23 2007 07:02:57) I can
replicate the problem on Windows.

Using this single line command at the CMD prompt:

for %x in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do
start php -r 
"ini_set('error_log','/tmp/test.log');for($i=0;$i<100;$i++)error_log(str_repeat('%x',5000));"

The log file has many broken lines.

On 05/04/07, Ilia Alshanetsky <[EMAIL PROTECTED]> wrote:
Rasmus,

Sorry for the delay in the reply. According to my tests on linux
using the sample script provided by the original bug reporter having
no lock causes a problem when the error message is >4k in length. In
this case multiple buffers are used and corruption can happen (it did
on a dual cpu machine with 10 error log writing threads running),
which is why I feel the lock is needed.


On 5-Apr-07, at 1:29 AM, Rasmus Lerdorf wrote:

> Matt Wilmas wrote:
>> Hi,
>>
>> Maybe just a Windows problem if it wasn't noticed yet, but I was
>> compiling
>> the latest 5.2 snapshot and got:
>>
>> main.obj : error LNK2019: unresolved external symbol _php_flock
>> referenced
>> in function _php_log_err
>> Release_TS\php5ts.dll : fatal error LNK1120: 1 unresolved externals
>>
>> Caused by this recent commit, http://news.php.net/php.cvs/43683,
>> and I
>> commented the php_flock line as a workaround.  The Windows 5.2
>> snapshots
>> haven't been updated because of this either, of course.
>
> I see no reason for that lock at all as I commented when this was
> committed, but Ilia never replied.  This is a single write
> operation now
> since those fprintf's are now one, so that part of the fix is good,
> but
> the lock call is not needed since single writes in append mode are
> atomic, even on Windows.
>
> So, your work around is fine and should actually be committed.
>
> -Rasmus
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>

Ilia Alshanetsky

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php




--
-----
Richard Quadling
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
"Standing on the shoulders of some very clever giants!"

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to