/*
- * $Id$
- *
* XMPP event queue
*
* Copyright (c) 2007-2009 by Art Cancro
int purged_something = 0;
struct CitContext *cptr;
- CtdlLogPrintf(CTDL_DEBUG, "xmpp_queue_event(%d, %s)\n", event_type, email_addr);
+ syslog(LOG_DEBUG, "xmpp_queue_event(%d, %s)\n", event_type, email_addr);
/* Purge events more than a minute old */
begin_critical_section(S_XMPP_QUEUE);
begin_critical_section(S_SESSION_TABLE);
for (cptr = ContextList; cptr != NULL; cptr = cptr->next) {
if ((cptr->logged_in) && (cptr->h_async_function == xmpp_async_loop)) {
- cptr->async_waiting = 1;
+ set_async_waiting(cptr);
}
}
end_critical_section(S_SESSION_TABLE);
XMPP->last_event_processed = highest_event;
}
+
+
+void xmpp_cleanup_events(void)
+{
+ struct xmpp_event *ptr, *ptr2;
+ begin_critical_section(S_XMPP_QUEUE);
+ ptr = xmpp_queue;
+ xmpp_queue = NULL;
+ while (ptr != NULL) {
+ ptr2 = ptr->next;
+ free(ptr);
+ ptr = ptr2;
+ }
+ end_critical_section(S_XMPP_QUEUE);
+
+}