locking files on freebsd

Steven D. Majewski sdm7g at Virginia.EDU
Mon Apr 2 13:48:21 EDT 2001


On Mon, 2 Apr 2001, Haris Lekatsas wrote:

> Hello,
> I have a problem with locking files. The following code will work on several OS
> but it seems
> to fail on FreeBSD giving an IOError.
> Any ideas?
> 
> f = open('filename', 'w')
> fd = f.fileno()
> flock = struct.pack('2h8l', FCNTL.F_WRLCK, 0, 0, 0, 0, 0, 0, 0, 0, 0)
> fcntl.fcntl(fd, FCNTL.F_SETLKW, flock)

Look at Lib/test/test_fcntl.py and you'll see why.
The layout of the flock struct is different on different unices. 
(Thus the conditional code in the test.) 

-- Steve Majewski





More information about the Python-list mailing list