SysLink API Reference
2.21.03.11
|
Critical section support.
Gates are used by clients to protect concurrent access to critical data structures. Critical data structures are those that must be updated by at most one thread at a time. All code that needs access to a critical data structure "enters" a gate (that's associated with the data structure) prior to accessing the data, modifies the data structure, then "leaves" the gate.
A gate is responsible for ensuring that at most one thread at a time can enter and execute "inside" the gate. There are several implementations of gates, with different system executation times and latency tradoffs. In addition, some gates must not be entered by certain thread types; e.g., a gate that is implemented via a "blocking" semaphore must not be called by an interrupt service routine (ISR).
#include <ti/syslink/utils/IGateProvider.h>
Go to the source code of this file.
Functions | |
IArg | Gate_enterSystem (void) |
Void | Gate_leaveSystem (IArg key) |
Variables | |
IGateProvider_Handle | Gate_systemHandle |
IArg Gate_enterSystem | ( | void | ) |
IGateProvider_Handle Gate_systemHandle |