flock and blocking
am 31.10.2007 16:16:40 von yawnmothIf I do flock($fp, LOCK_EX) on a file and another user tries to do
file_get_contents on that file while it's locked, will
file_get_contents block until the lock has been removed?
If I do flock($fp, LOCK_EX) on a file and another user tries to do
file_get_contents on that file while it's locked, will
file_get_contents block until the lock has been removed?
On Oct 31, 10:16 am, yawnmoth
> If I do flock($fp, LOCK_EX) on a file and another user tries to do
> file_get_contents on that file while it's locked, will
> file_get_contents block until the lock has been removed?
Also, does file_get_contents lock files? What would happen if a
script tried to lock a file with an exclusive lock (LOCK_EX) while
another instance of the script was reading it? Would the flock
operation block until it had exclusive access? Would the script doing
the reading suddenly stop? Would the script doing the reading
suddenly read different data?
Thanks!
Post removed (X-No-Archive: yes)
On Oct 31, 8:21 pm, ljb
> terra1...@yahoo.com wrote:
>
>
> The PHP manual says that flock is advisory, except on Windows where it
> is mandatory. Advisory locks only apply among processes that agree to use
> them, so just doing file_get_contents would not be affected. Mandatory
> locks mean no other process can violate the lock, regardless of how it
> tries to access the file. flock() itself will block to acquire a lock by
> default, but I have no idea if other functions like file_get_contents would
> (in a mandatory locking environment). I suspect they would just fail.
Thanks!