On 10 Nov 2010, at 14:13, MegaBrutal wrote:
I should have noted this, but my "LockFile" is not a global variable. It's a field of my object. So each object instance has its own "LockFile", and threads create their own instance of the object. However, they try to open the same file on the file system, but with different file descriptors (under file descriptor, now I mean a Pascal "file" typed variable).
That does not make any difference.
The little program that would simulate it: var f, g: file; begin {$i+} assign(f, 'test.txt'); assign(g,'test.txt'); rewrite(f,1); rewrite(g,1); end. I think it shouldn't work on any OS.
It nevertheless does.
Unless they open the file in sharing mode, but I suppose Rewrite doesn't enable file sharing by default.
On Unix-style OSes, Rewrite does not lock the file after opening it for writing (locking is a separate operation there).
Jonas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal