#include "event_client.h"
#include "rss_atom_parser.h"
+extern pthread_mutex_t RSSQueueMutex;
+
HashList *StartHandlers = NULL;
HashList *EndHandlers = NULL;
HashList *KnownNameSpaces = NULL;
void RSS_item_rss_start (StrBuf *CData, rss_item *ri, rss_aggregator *Cfg, const char** Attr)
{
- CtdlLogPrintf(CTDL_DEBUG, "RSS: This is an RSS feed.\n");
+ syslog(LOG_DEBUG, "RSS: This is an RSS feed.\n");
Cfg->ItemType = RSS_RSS;
}
void RSS_item_rdf_start(StrBuf *CData, rss_item *ri, rss_aggregator *Cfg, const char** Attr)
{
- CtdlLogPrintf(CTDL_DEBUG, "RSS: This is an RDF feed.\n");
+ syslog(LOG_DEBUG, "RSS: This is an RDF feed.\n");
Cfg->ItemType = RSS_RSS;
}
void ATOM_item_feed_start(StrBuf *CData, rss_item *ri, rss_aggregator *Cfg, const char** Attr)
{
- CtdlLogPrintf(CTDL_DEBUG, "RSS: This is an ATOM feed.\n");
+ syslog(LOG_DEBUG, "RSS: This is an ATOM feed.\n");
Cfg->ItemType = RSS_ATOM;
}
void RSS_item_rss_end(StrBuf *CData, rss_item *ri, rss_aggregator *Cfg, const char** Attr)
{
-// CtdlLogPrintf(CTDL_DEBUG, "End of feed detected. Closing parser.\n");
+// syslog(LOG_DEBUG, "End of feed detected. Closing parser.\n");
ri->done_parsing = 1;
}
void RSS_item_rdf_end(StrBuf *CData, rss_item *ri, rss_aggregator *Cfg, const char** Attr)
{
-// CtdlLogPrintf(CTDL_DEBUG, "End of feed detected. Closing parser.\n");
+// syslog(LOG_DEBUG, "End of feed detected. Closing parser.\n");
ri->done_parsing = 1;
}
long len;
rssc = IO->Data;
+ pthread_mutex_lock(&RSSQueueMutex);
+ rssc->RefCount ++;
+ pthread_mutex_unlock(&RSSQueueMutex);
ri = rssc->Item;
rssc->CData = NewStrBufPlain(NULL, SIZ);
rssc->Key = NewStrBuf();
else
ptr = "UTF-8";
- CtdlLogPrintf(CTDL_ALERT, "RSS: Now parsing [%s] \n", ChrPtr(rssc->Url));
+ syslog(LOG_DEBUG, "RSS: Now parsing [%s] \n", ChrPtr(rssc->Url));
rssc->xp = XML_ParserCreateNS(ptr, ':');
if (!rssc->xp) {
- CtdlLogPrintf(CTDL_ALERT, "Cannot create XML parser!\n");
+ syslog(LOG_DEBUG, "Cannot create XML parser!\n");
goto shutdown;
}
FlushStrBuf(rssc->Key);
XML_Parse(rssc->xp, "", 0, 1);
- CtdlLogPrintf(CTDL_ALERT, "RSS: XML Status [%s] \n",
+ syslog(LOG_DEBUG, "RSS: XML Status [%s] \n",
XML_ErrorString(
XML_GetErrorCode(rssc->xp)));
///Cfg->next_poll = time(NULL) + config.c_net_freq;
+ pthread_mutex_lock(&RSSQueueMutex);
+ rssc->RefCount --;
+ pthread_mutex_unlock(&RSSQueueMutex);
return eTerminateConnection;
}