Asterisk - The Open Source Telephony Project
21.4.1
|
Data Fields | |
int | category |
unsigned int | seq |
struct timeval | tv |
int | usecount |
Linked list of events. Global events are appended to the list by append_event(). The usecount is the number of stored pointers to the element, excluding the list pointers. So an element that is only in the list has a usecount of 0, not 1.
Clients have a pointer to the last event processed, and for each of these clients we track the usecount of the elements. If we have a pointer to an entry in the list, it is safe to navigate it forward because elements will not be deleted, but only appended. The worst that can happen is seeing the pointer still NULL.
When the usecount of an element drops to 0, and the element is the first in the list, we can remove it. Removal is done within the main thread, which is woken up for the purpose.
For simplicity of implementation, we make sure the list is never empty.
unsigned int seq |
struct timeval tv |
When event was allocated
Definition at line 1616 of file manager.c.
Referenced by append_event(), and purge_events().
int usecount |
Definition at line 1613 of file manager.c.
Referenced by append_event(), grab_last(), handle_showmaneventq(), and purge_events().