Function UNLOCK ( EFN:Event_Flag): boolean; EXTERNAL; {*USER* UNLOCK a resource(s) associated with the global event flag EFN. The unlock operation is unconditional (the flag is always set). However, the function returns a boolean value where TRUE is "resource was locked and is now unlocked", while FALSE is "resource was not locked and remains unlocked". You should use the boolean value returned to make sure all programs are following the rules of locking and unlocking, issuing an error message if you find a resource unlocked when you expected it to be locked. This points to a programming error or abnormally ending program. Be sure group global flags are created before attempting to use them. If the group globals do not exist, a directive error will occur in the function, and the value of FALSE will be returned indicating and error. Note: This module uses a different locking scheme than normally used. A set flag denotes an unlocked file, region or port, while a clear flag denotes a locked file, region or port. This procedure enables us to use waits triggered by flag sets to make for instant response to a changed lock state while remaining inactive during the wait interval. This allows for the most efficient interactive file, region and port sharing possible by multiple programs. }