LCK Module
2-176
2.12
LCK Module
The LCK module is the resource lock manager.
Functions
❏
LCK_create. Create a resource lock
❏
LCK_delete. Delete a resource lock
❏
LCK_pend. Acquire ownership of a resource lock
❏
LCK_post. Relinquish ownership of a resource lock
Constants, Types,
and Structures
typedef struct LCK_Obj *LCK_Handle; /* resource handle */
/* lock object */
typedef struct LCK_Attrs LCK_Attrs;
struct LCK_Attrs {
Int dummy;
};
LCK_Attrs LCK_ATTRS = {0}; /* default attribute values */
Configuration
Properties
The following list shows the properties that can be configured in a Tconf
script, along with their types and default values. For details, see the LCK
Manager Properties and LCK Object Properties headings. For
descriptions of data types, see Section 1.4,
Module Configuration Parameter
.
Description
The lock module makes available a set of functions that manipulate lock
objects accessed through handles of type LCK_Handle. Each lock
implicitly corresponds to a shared global resource, and is used to
arbitrate access to this resource among several competing tasks.
The LCK module contains a pair of functions for acquiring and
relinquishing ownership of resource locks on a per-task basis. These
functions are used to bracket sections of code requiring mutually
exclusive access to a particular resource.
LCK lock objects are semaphores that potentially cause the current task
to suspend execution when acquiring a lock.
LCK Manager
Properties
The following global property can be set for the LCK module on the LCK
Manager Properties dialog in the DSP/BIOS Configuration Tool or in a
Tconf script:
Name
Type
Default
OBJMEMSEG
Reference
prog.get("DARAM")