File locking is impossible in Windows? SOLUTION
elbertlev at hotmail.com
elbertlev at hotmail.com
Sun Jan 2 22:07:51 EST 2005
Sure it will do if one of the processes needs read access only.
Scenario when you need shared rw acces with locking:
In the file you have "records" say 30 bytes long, 2 processes are
reading/writing these records by: lock-read-unlock or lock-write-unlock
. Both processes have to open the file with rw access. But the third
process can overwrite the locked file! Actually the common method to
prevent file from been overwritten is: lock the region outside the
file. Such feacure is added to lock/unlock namely for this purpose.
You found the bug in WIN32.
PS.
When you copy the file (say c:\b) over file with locked region say
(c:\a), the length of the file c:\b becomes the length of c:\a, and the
content of c:\a is all zeroes. By the way, I would understand the logic
if copy copyes bytes outside locked regions but preserves all locks.
More information about the Python-list
mailing list