Skip to content

File SolidSyslogConfigLock.h

FileList > Core > Interface > SolidSyslogConfigLock.h

Go to the source code of this file

The config-time critical-section injection pair guarding every pool Create/Destroy slot-walk; the no-op default suits single-task setup.

  • #include "ExternC.h"

Public Attributes

Type Name
EXTERN_C_BEGIN typedef void(* SolidSyslogConfigLockFunction
Critical-section enter/leave callback wrapping every pool Create/Destroy slot-walk.

Public Functions

Type Name
void SolidSyslog_LockConfig (void)
void SolidSyslog_SetConfigLock (SolidSyslogConfigLockFunction lockFn, SolidSyslogConfigLockFunction unlockFn)
Install the config-lock pair, applied setup-time before any Create.
void SolidSyslog_UnlockConfig (void)

Public Attributes Documentation

variable SolidSyslogConfigLockFunction

Critical-section enter/leave callback wrapping every pool Create/Destroy slot-walk.

EXTERN_C_BEGIN typedef void(* SolidSyslogConfigLockFunction) (void);

Single-task targets need none (the default is a no-op); multi-task targets wire taskENTER_CRITICAL (FreeRTOS), pthread_mutex_lock on a static mutex (POSIX), EnterCriticalSection (Windows), or a spinlock pair. Because this guards the pool walks, it is the one synchronisation primitive the Mutex and AtomicCounter pools can use for their own walks without a chicken-and-egg dependency on themselves.


Public Functions Documentation

function SolidSyslog_LockConfig

void SolidSyslog_LockConfig (
    void
) 

function SolidSyslog_SetConfigLock

Install the config-lock pair, applied setup-time before any Create.

void SolidSyslog_SetConfigLock (
    SolidSyslogConfigLockFunction lockFn,
    SolidSyslogConfigLockFunction unlockFn
) 

Single global slot, not synchronised against concurrent installs. Both handlers are set together; NULL on either side restores that side's no-op default.


function SolidSyslog_UnlockConfig

void SolidSyslog_UnlockConfig (
    void
) 


The documentation for this class was generated from the following file Core/Interface/SolidSyslogConfigLock.h