Edit report at https://bugs.php.net/bug.php?id=60232&edit=1

 ID:                 60232
 User updated by:    goetas at lignano dot it
 Reported by:        goetas at lignano dot it
 Summary:            Wrong lock support detection for streams
 Status:             Open
 Type:               Bug
 Package:            Streams related
 Operating System:   ubuntu
 PHP Version:        5.3.8
 Block user comment: N
 Private report:     N

 New Comment:

in file.c there is a double check for stream locking support, but the first 
check is done in the worong way. 
i'm not a c programmer, i think that should be done somethink like this

if(file_lock) then
   if(is_stream && !stream_support_locking) then
     throw error
   endif
endif


Previous Comments:
------------------------------------------------------------------------
[2011-11-16 12:32:17] [email protected]

The first check was introduced to fix the issue reported in bug #44501.

------------------------------------------------------------------------
[2011-11-07 12:04:03] goetas at lignano dot it

Description:
------------
I have implemented my own stream that support locking (defined the function 
stream_lock). 
when use: 
file_put_contents("sqlfile://www.pppoa.it/x", "", LOCK_EX);

I get this error: Exclusive locks may only be set for regular files

I've take a look into PHP_5_3/ext/standard/file.c,  and at line 620 there is a 
check, that generates this error.

Few lines after, at line 635 there is a second check, for stream lock support.
But these lines of code (635...) is newer reachable because all operations on 
stream that require locking will stop on line 623.






------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=60232&edit=1

Reply via email to