libkeepalive
|
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 |
const char* keepalive_object_t::kao_identity |
Type name string used for logging
unsigned keepalive_object_t::kao_refcount_external |
External reference count; initially 1
unsigned keepalive_object_t::kao_refcount_internal |
Internal reference count; initially 0
bool keepalive_object_t::kao_in_shutdown |
Flag for: shutting down activity
guint keepalive_object_t::kao_shutdown_id |
Timer id: delayed shutdown
pthread_mutex_t keepalive_object_t::kao_mutex |
Data access lock
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.
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.