Skip to content

File SolidSyslogConfigLock.h

FileList > Core > Interface > SolidSyslogConfigLock.h

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

  • #include "SolidSyslogExternC.h"

Public Types Documentation

SolidSyslogConfigLockFunction

Lock/unlock callback pair wrapping every pool Create/Destroy slot-walk, each passed the context installed with it.

typedef void(* SolidSyslogConfigLockFunction) (void *context);

The default is a no-op, which suits single-task setup.

Where Create and Destroy can run concurrently, install a mutex supplied by the host system. Destroy releases the instance's resources inside this lock and may block, so the primitive must permit blocking while held; one that disables interrupts or spins will deadlock.

A SolidSyslog Mutex is not a valid choice: its Create walks a pool under this lock. Requiring a host primitive is also what allows the Mutex and AtomicCounter pools to use this pair for their own walks.


Public Functions Documentation

SolidSyslog_LockConfig

void SolidSyslog_LockConfig (
    void
) 

SolidSyslog_SetConfigLock

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

void SolidSyslog_SetConfigLock (
    SolidSyslogConfigLockFunction lockFn,
    SolidSyslogConfigLockFunction unlockFn,
    void * context
) 

Single global slot, not synchronised against concurrent installs. All three are set together; context is passed to both callbacks unchanged, and NULL on either function restores that side's no-op default.


SolidSyslog_UnlockConfig

void SolidSyslog_UnlockConfig (
    void
) 


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