libkeepalive
Loading...
Searching...
No Matches
keepalive_object_t Struct Reference

Data Fields

const char * kao_identity
 
unsigned kao_refcount_external
 
unsigned kao_refcount_internal
 
bool kao_in_shutdown
 
guint kao_shutdown_id
 
pthread_mutex_t kao_mutex
 
GDestroyNotify kao_shutdown_locked_cb
 
GDestroyNotify kao_delete_cb
 

Field Documentation

◆ kao_identity

const char* keepalive_object_t::kao_identity

Type name string used for logging

◆ kao_refcount_external

unsigned keepalive_object_t::kao_refcount_external

External reference count; initially 1

◆ kao_refcount_internal

unsigned keepalive_object_t::kao_refcount_internal

Internal reference count; initially 0

◆ kao_in_shutdown

bool keepalive_object_t::kao_in_shutdown

Flag for: shutting down activity

◆ kao_shutdown_id

guint keepalive_object_t::kao_shutdown_id

Timer id: delayed shutdown

◆ kao_mutex

pthread_mutex_t keepalive_object_t::kao_mutex

Data access lock

◆ kao_shutdown_locked_cb

GDestroyNotify keepalive_object_t::kao_shutdown_locked_cb

On shutdown callback

Called when kao_refcount_external drops to zero.

Object is in locked state.

Internal references can be added. External references can't be added. Timers can't be added.

◆ kao_delete_cb

GDestroyNotify keepalive_object_t::kao_delete_cb

On delete callback

Called when also kao_refcount_internal drops to zero.

References, locking, timers, etc must not be added / removed.


The documentation for this struct was generated from the following file: