LOCKS(4)

NAME
locks - TeamWare locks file

SYNOPSIS
Codemgr_wsdata/locks

DESCRIPTION
To assure consistency, the TeamWare commands (formerly known as CodeManager) bringover, ws_undo and putback lock workspaces while they are working in them. Locks are recorded in the Codemgr_wsdata/locks file in each workspace; the TeamWare commands consult that file before acting in a workspace. Information written to the locks file includes:

•   The type of lock (read/write)

•   The name of the command issuing the lock

•   The login name of the user issuing the command

•   The user's host

Lock information persists in the locks file for the duration of the command's execution; the lock entry is removed before the command terminates.

TeamWare employs two types of locks:

•   A read-lock is used when a command must assure that a workspace does not change while it is examining its contents. Read-locks may be obtained concurrently by a number of commands; no TeamWare command may write to the workspace while a read-lock is in force. A read-lock is obtained by the bringover command in the parent when it is examining files in preparation for copying to the child, and by the putback command in the child when examining files in preparation for copying to the parent.

•   A write-lock is used when a command must assure that a workspace does not change while it is writing to it. Only one write-lock may be obtained for a workspace at any time. When a write-lock is in force only the CodeManager command that owns the lock may write to the workspace and other commands cannot obtain read-locks from from the workspace. A write-lock is obtained by the bringover command for the child when it is copying files into it, and by the putback command for the parent when it is copying files into it.

SEE ALSO
TeamWare User's Guide

bringover(1), def.dir.flp(1), filemerge(1), fileresolve(1), putback(1), resolve(1), twmerge(1), ws_undo(1), workspace(1), access_control(4), args(4), children(4), conflicts(4), history(4), nametable(4), notification(4), parent(4), putback.cmt(4)