EPICS Base
7.0.8.1
|
OS independent interface for creating spin locks. More...
#include "libComAPI.h"
Go to the source code of this file.
Typedefs | |
typedef struct epicsSpin * | epicsSpinId |
Functions | |
LIBCOM_API epicsSpinId | epicsSpinCreate (void) |
Creates a spin lock. More... | |
LIBCOM_API epicsSpinId | epicsSpinMustCreate (void) |
Creates a spin lock. More... | |
LIBCOM_API void | epicsSpinDestroy (epicsSpinId lockId) |
Destroys spin lock. More... | |
LIBCOM_API void | epicsSpinLock (epicsSpinId lockId) |
Acquires the spin lock. More... | |
LIBCOM_API int | epicsSpinTryLock (epicsSpinId lockId) |
Tries to acquire the spin lock. More... | |
LIBCOM_API void | epicsSpinUnlock (epicsSpinId lockId) |
Releases spin lock. More... | |
OS independent interface for creating spin locks. Implemented using the OS-specific spinlock interface if available. Otherwise uses epicsMutexLock.
Definition in file epicsSpin.h.
typedef struct epicsSpin* epicsSpinId |
Handle to spin lock
Definition at line 29 of file epicsSpin.h.
LIBCOM_API epicsSpinId epicsSpinCreate | ( | void | ) |
Creates a spin lock
LIBCOM_API epicsSpinId epicsSpinMustCreate | ( | void | ) |
Creates a spin lock. Calls cantProceed() if unable to create lock
LIBCOM_API void epicsSpinDestroy | ( | epicsSpinId | lockId | ) |
Destroys the spin lock
lockId | identifies the spinlock |
LIBCOM_API void epicsSpinLock | ( | epicsSpinId | lockId | ) |
Acquires the lock. Blocks if lock is unavailable
lockId | identifies the spinlock |
LIBCOM_API int epicsSpinTryLock | ( | epicsSpinId | lockId | ) |
Tries to acquire the lock. If failed, return immediately with non-zero error code.
lockId | identifies the spinlock |
LIBCOM_API void epicsSpinUnlock | ( | epicsSpinId | lockId | ) |
Releases spin lock
lockId | identifies the spinlock |