eNextState RSSAggregatorTerminate(AsyncIO *IO);
+struct CitContext rss_CC;
struct rssnetcfg *rnclist = NULL;
void AppendLink(StrBuf *Message, StrBuf *link, StrBuf *LinkTitle, const char *Title)
DeleteHashPos(&At);
}
-
}
void UnlinkRSSAggregator(rss_aggregator *Cfg)
Ctx->Cfg = Cfg;
Ctx->recp = recp;
Ctx->IO.Data = Ctx;
- Ctx->IO.CitContext = CloneContext(CC);
+ Ctx->IO.CitContext = CloneContext(&rss_CC);
Ctx->IO.Terminate = FreeNetworkSaveMessage;
Ctx->IO.ShutdownAbort = AbortNetworkSaveMessage;
QueueDBOperation(&Ctx->IO, RSS_FetchNetworkUsetableEntry);
memset(ri, 0, sizeof(rss_item));
Cfg->Item = ri;
IO = &Cfg->IO;
- IO->CitContext = CloneContext(CC);
+ IO->CitContext = CloneContext(&rss_CC);
IO->Data = Cfg;
FreeStrBuf(&rncptr->rooms);
FreeStrBuf(&rncptr->CData);
FreeStrBuf(&rncptr->Key);
-
+ FreeStrBuf(&rncptr->IO.HttpReq.ReplyData);
DeleteHash(&rncptr->OtherQRnumbers);
+ FreeURL(&rncptr->IO.ConnectMe);
if (rncptr->Item != NULL)
{
eNextState RSSAggregatorTerminate(AsyncIO *IO)
{
rss_aggregator *rncptr = (rss_aggregator *)IO->Data;
- HashPos *At;
- long HKLen;
- const char *HK;
- void *vData;
-
+ /*
+ HashPos *At;
+ long HKLen;
+ const char *HK;
+ void *vData;
+ */
pthread_mutex_lock(&RSSQueueMutex);
rncptr->RefCount --;
if (rncptr->RefCount == 0)
*/
void rssclient_scan_room(struct ctdlroom *qrbuf, void *data)
{
- StrBuf *CfgData;
+ StrBuf *CfgData=NULL;
StrBuf *CfgType;
StrBuf *Line;
rss_room_counter *Count = NULL;
}
if (server_shutting_down)
- return
+ return;
+
+ if (fstat(fd, &statbuf) == -1) {
+ syslog(LOG_DEBUG, "ERROR: could not stat configfile '%s' - %s\n",
+ filename, strerror(errno));
+ return;
+ }
+
+ if (server_shutting_down)
+ return;
CfgData = NewStrBufPlain(NULL, statbuf.st_size + 1);
+
if (StrBufReadBLOB(CfgData, &fd, 1, statbuf.st_size, &Err) < 0) {
close(fd);
FreeStrBuf(&CfgData);
use_this_rncptr->roomlist_parts++;
}
pthread_mutex_unlock(&RSSQueueMutex);
+
+
+ FreeStrBuf(&rncptr->Url);
+ free(rncptr);
+ rncptr = NULL;
continue;
}
pthread_mutex_unlock(&RSSQueueMutex);
{
if (threading)
{
+ CtdlFillSystemContext(&rss_CC, "rssclient");
pthread_mutex_init(&RSSQueueMutex, NULL);
RSSQueueRooms = NewHash(1, lFlathash);
RSSFetchUrls = NewHash(1, NULL);