X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fjabber%2Fxmpp_queue.c;h=3bd8c95d7bdf2d871c22b988a1242e88f833a20e;hb=29fda9cdbf1aac6b68aba62ac593a051af124030;hp=44540496bfc5f5d34903fcea00583d5b1cfe1186;hpb=d8813244b021daf1809bab971f871b937f84a0c3;p=citadel.git diff --git a/citadel/modules/jabber/xmpp_queue.c b/citadel/modules/jabber/xmpp_queue.c index 44540496b..3bd8c95d7 100644 --- a/citadel/modules/jabber/xmpp_queue.c +++ b/citadel/modules/jabber/xmpp_queue.c @@ -3,8 +3,21 @@ * * XMPP event queue * - * Copyright (c) 2007 by Art Cancro - * This code is released under the terms of the GNU General Public License. + * Copyright (c) 2007-2009 by Art Cancro + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ @@ -33,6 +46,7 @@ #include #include #include +#include #include #include "citadel.h" #include "server.h" @@ -42,9 +56,6 @@ #include "internet_addressing.h" #include "md5.h" #include "ctdl_module.h" - -#ifdef HAVE_EXPAT -#include #include "serv_xmpp.h" int queue_event_seq = 0; @@ -57,7 +68,7 @@ void xmpp_queue_event(int event_type, char *email_addr) { int purged_something = 0; struct CitContext *cptr; - lprintf(CTDL_DEBUG, "xmpp_queue_event(%d, %s)\n", event_type, email_addr); + CtdlLogPrintf(CTDL_DEBUG, "xmpp_queue_event(%d, %s)\n", event_type, email_addr); /* Purge events more than a minute old */ begin_critical_section(S_XMPP_QUEUE); @@ -99,11 +110,13 @@ void xmpp_queue_event(int event_type, char *email_addr) { end_critical_section(S_XMPP_QUEUE); /* Tell the sessions that something is happening */ + 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; } } + end_critical_section(S_SESSION_TABLE); } @@ -135,6 +148,3 @@ void xmpp_process_events(void) { XMPP->last_event_processed = highest_event; } - - -#endif /* HAVE_EXPAT */