|
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.