46 static GSList* _hb_senders = NULL;
47 static gint _hb_sender_count = 0;
49 #define ONESEC 1000000
55 _hb_senders = g_slist_prepend(_hb_senders,
self);
56 _hb_sender_count += 1;
63 if (g_slist_find(_hb_senders,
self) != NULL) {
64 _hb_senders = g_slist_remove(_hb_senders,
self);
65 _hb_sender_count -= 1;
92 g_return_if_fail(self->_refcount > 0);
94 if (self->_refcount == 0) {
96 self->_finalize(
self);
105 self->timeout_source = 0;
112 if (self->_sendaddr) {
113 UNREF(self->_sendaddr);
115 if (self->timeout_source != 0) {
116 g_source_remove(self->timeout_source);
118 memset(
self, 0x00,
sizeof(*
self));
137 if (newsender != NULL) {
146 if (interval < 500000) {
152 DEBUGMSG3(
"Sender %p timeout source is: %d, interval is %d", newsender
167 for (obj = _hb_senders; obj != NULL; obj=obj->next) {
170 sender->
unref(sender);
180 self->_outmethod->sendaframeset(self->_outmethod, self->_sendaddr, heartbeat);
186 while (_hb_senders) {
188 sender->
unref(sender);