#21087 [Ctl]: flock($fp, LOCK_SH) causes fwrite() to fail

From: Date: Sun, 22 Dec 2002 14:05:43 +0000
Subject: #21087 [Ctl]: flock($fp, LOCK_SH) causes fwrite() to fail
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-28186@lists.php.net to get a copy of this message
ID: 21087 Updated by: wez@php.net -Summary: Rewriting file no longer works Reported By: gfraley5@earthlink.net Status: Critical Bug Type: Filesystem function related Operating System: XP PHP Version: 4.3.0RC3 New Comment: Update summary. LOCK_EX works fine. Additionally, writing to the file prior to obtaining the lock also works fine, but defeats the purpose of the lock. Previous Comments: ------------------------------------------------------------------------ [2002-12-21 18:41:37] gfraley5@earthlink.net Just a further note. It also/still errors on RC4. Also, if you use flock($fp,2) instead of flock($fp,1) it works. ------------------------------------------------------------------------ [2002-12-19 22:27:29] iliaa@php.net Small note, the 2nd flock (flock($fp,3);) is entirely optional. The problem is occures if prior to write the LOCK_SH is set on the file, the problem does not happen if LOCK_EX is used. ------------------------------------------------------------------------ [2002-12-19 21:21:56] gfraley5@earthlink.net It appears to be the flock() call. This fails. However, if you comment out the flock() calls it works. $filename = "c:/phptest.txt"; $data = "This is test text"; $fp = fopen("$filename",'w'); flock($fp,1); $len = fwrite($fp,$data); flock($fp,3); fclose($fp); echo "Wrote $len bytes"; ------------------------------------------------------------------------ [2002-12-19 11:27:09] wez@php.net Keep this at feedback. (and note that I am not mira-junk@cekit.cz and that my previous comment on this was my first). ------------------------------------------------------------------------ [2002-12-19 11:17:24] gfraley5@earthlink.net Sorry for the misunderstanding. First of all I did not know that you were a developer working the problem. Nothing in your comment told me that. Secondly, I have already stated that I will try to produce a smaller script (see my original post). I just haven't had time to work the problem. As to the buffering, without it, the full text is not written out. It gets truncated. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/21087 -- Edit this bug report at http://bugs.php.net/?id=21087&edit=1

« previous php.bugs (#28186) next »