[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.23 LOCK

Acquires or releases ownership of names.

In its argumentless form, LOCK releases ownership of all names previously locked by the current process, provided the optional postcondition evaluates to true or is omitted.

Syntax

LOCK[:postcondition]

In its incremental form, increments or decrements the lock counter for each specified name, provided the optional postcondition evaluates to true or is omitted. Ownership of each name is considered to be the current process as long as the lock counter for name is greater than zero. If timeout is specified, FreeM will wait no more than timeout seconds in attempting to acquire ownership of name.

If LOCK succeeds within timeout, $TEST is set to 1. Otherwise, $TEST is set to 0.

Syntax

LOCK[:postcondition] [+|-]name[:timeout][,...[+|-]name[:timeout]]

Example

This example will increment the lock counter for ^JPW and decrement the lock counter for ^MJR.

LOCK +^JPW,-^MJR

In its non-incremental form, LOCK releases all LOCKs held by the current process, and then attempts to acquire a lock on each name, provided the optional postcondition evaluates to true or is omitted. If timeout is supplied, FreeM will attempt to lock name for no more than timeout seconds.

If LOCK succeeds within timeout, $TEST is set to 1. Otherwise, $TEST is set to 0.

Syntax

LOCK[:postcondition] name[:timeout][,...name[:timeout]]

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on September 20, 2023 using texi2html 5.0.