Lock(3tlib)
Lock: LockPread, LockPwrite, LockVread, LockVwrite --
apply/release read/write locks on files
Synopsis
LockPread filename
LockPwrite filename
LockVread filehandle
LockVwrite filehandle
Description
These calls provide blocking, advisory read and/or write locks for data
synchronization. A read lock permits additional read locks but not a
write lock. A write lock prohibits any additional locks from being applied.
Locking calls will block until the lock can be applied. Locks apply to
the entire file.
LockPread-
applies a read lock on the given file and returns a file handle for use
by LockVread. If a write lock exists on the file, the call
does not return until the lock has been released and the requested
lock is set.
LockVread-
releases the read lock corresponding to the given file handle.
LockPwrite-
applies a write lock on the given file and returns a file handle for use
by LockVwrite. If a read or write lock exists on the
file, the call does not return until the lock has been released
and the requested lock is set.
LockVwrite-
releases the write lock corresponding to the given file handle.
Arguments
filename-
full pathname of a filesystem object (file, directory etc.)
filehandle-
lock file handle returned by LockPread orLockPwrite.
Return values
LockPread and LockPwrite return a
lock file handle for use with subsequent
LockVread or LockVwrite
calls. Note, this is not a generic Tcl file handle
that may be used with generic IO functions;
it is internal to the lock subsystem.
Diagnostics
Errors encountered (such as non-existent file, wrong permissions) will result
in a throw with a SCOadmin error stack. See
Error(3tlib)
or
catch(1tcl).
References
fcntl(2).
Notices
These functions use System V advisory locks.
For each lock, the caller must have the requested permissions on the file to
be locked in order for the lock to succeed (such as write permission in
order to apply a write lock, and so on).
25 April 2004
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004