long *lData = (long*) vData;
DeleteRoomReference(*lData);
}
+/*
+ if (server_shutting_down)
+ break; /* TODO */
DeleteHashPos(&At);
}
-
}
void UnlinkRSSAggregator(rss_aggregator *Cfg)
StrBufRFC2047encode(&Encoded, ri->author_or_creator);
msg->cm_fields['A'] = SmashStrBuf(&Encoded);
msg->cm_fields['P'] = strdup("rss@localhost");
+
+ }
+ if (ri->pubdate <= 0) {
+ ri->pubdate = time(NULL);
}
}
}
}
-
void DeleteRssCfg(void *vptr)
{
rss_aggregator *rncptr = (rss_aggregator *)vptr;
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;
assoc_file_name(filename, sizeof filename, qrbuf, ctdl_netcfg_dir);
- if (CtdlThreadCheckStop())
+ if (server_shutting_down)
return;
/* Only do net processing for rooms that have netconfigs */
//syslog(LOG_DEBUG, "rssclient: %s no config.\n", qrbuf->QRname);
return;
}
- if (CtdlThreadCheckStop())
+
+ if (server_shutting_down)
return;
+
if (fstat(fd, &statbuf) == -1) {
syslog(LOG_DEBUG, "ERROR: could not stat configfile '%s' - %s\n",
- filename, strerror(errno));
+ filename, strerror(errno));
return;
}
- if (CtdlThreadCheckStop())
+
+ 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);
return;
}
close(fd);
- if (CtdlThreadCheckStop())
+ if (server_shutting_down)
return;
CfgPtr = NULL;
pthread_mutex_lock(&RSSQueueMutex);
it = GetNewHashPos(RSSFetchUrls, 0);
- while (GetNextHashPos(RSSFetchUrls, it, &len, &Key, &vrptr) &&
+ while (!server_shutting_down &&
+ GetNextHashPos(RSSFetchUrls, it, &len, &Key, &vrptr) &&
(vrptr != NULL)) {
rptr = (rss_aggregator *)vrptr;
if (rptr->RefCount == 0)