unlock-group command

The unlock-group command in the DM account clears group locks.

This is capable of clearing all types of group locks or specific types of locks, such as: update group locks, retrieval group locks, or locks on file control blocks.

Group locks provide a means of assuring data reliability by preventing two processes from attempting to update the same group at the same time.

Many processes within the system set group locks. For example, the save processor locks a group while it is being saved.

The read statements (in BASIC) that have a locking form set item locks only while working with an item. This means that two processes can access items in the same group, provided they do not attempt to update the same item. This is in contrast to early releases, which only set group locks on read statements. The locked clause in the read statements allow a graceful means of dealing with the situation of attempting to access a locked item. The program can take a special path name and indicate to the operator that they should try again later.

Syntax

unlock-group {.}fid{-{.}end.fid} {(options)}

Parameter(s)

fid{-end.fid} Used only when the FID is specified in options string. The FID is implied as a decimal number unless it is preceded by a period, in which case it is considered to be a hexadecimal reference.
options f Releases group locks placed on file control blocks only.
i Suppresses the Group 'x' released message.
o Releases read-only locks only.
r Releases retrieval group locks only.
u Releases update group locks only.
CAUTION:
When a process attempts to access a group that is locked, the screen freezes and starts beeping. Usually, there is only a brief wait until the group is unlocked, at which time the terminal stops beeping and is granted access to the group. Before using this command, the user should use list-locks and where to locate the cause of any deadlocked situation. Usually such problems can be fixed by logging off or issuing an end to the offending process. The use of unlock-group on groups which are being actively updated can cause file inconsistency errors.

Example(s)

Unlocks the group at (decimal) FID 15000.

unlock-group 15000

Unlocks the group at (hexadecimal) FID 3A98 (15000 in decimal).

unlock-group .3A98

Unlocks FCBs only.

unlock-group (f

Unlocks groups between (and including decimal) FIDs 15010 through 15020.

unlock-group 15010-15020