flock and blocking

flock and blocking

am 31.10.2007 16:16:40 von 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?

Re: flock and blocking

am 31.10.2007 16:21:40 von yawnmoth

On Oct 31, 10:16 am, yawnmoth wrote:
> 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!

Re: flock and blocking

am 01.11.2007 02:21:33 von unknown

Post removed (X-No-Archive: yes)

Re: flock and blocking

am 04.11.2007 01:29:15 von yawnmoth

On Oct 31, 8:21 pm, ljb wrote:
> 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!