{
AsyncNetworker *NW = (AsyncNetworker *)IO->Data;
- network_talking_to(ChrPtr(NW->node), NTT_REMOVE);
+ network_talking_to(SKEY(NW->node), NTT_REMOVE);
DeleteNetworker(IO->Data);
return eAbort;
*/
if (server_shutting_down)
{
- close(NW->IO.IOB.OtherFD);
+ FDIOBufferDelete(&NW->IO.IOB);
unlink(ChrPtr(NW->tempFileName));
return eAbort;
}
{
NW->State ++;
- close(NW->IO.IOB.OtherFD);
+ FDIOBufferDelete(&NW->IO.IOB);
if (link(ChrPtr(NW->SpoolFileName), ChrPtr(NW->tempFileName)) != 0) {
syslog(LOG_ALERT,
{
NW->State ++;
- close(NW->IO.IOB.OtherFD);
+ FDIOBufferDelete(&NW->IO.IOB);
if (link(ChrPtr(NW->SpoolFileName), ChrPtr(NW->tempFileName)) != 0) {
syslog(LOG_ALERT,
{
NW->State ++;
- close(NW->IO.IOB.OtherFD);
+ FDIOBufferDelete(&NW->IO.IOB);
rc = NWC_DispatchWriteDone(&NW->IO);
NW->State --;
return rc;
ChrPtr(NW->secret),
ChrPtr(NW->host),
ChrPtr(NW->port));
- if (!network_talking_to(ChrPtr(NW->node), NTT_CHECK))
+ if (!network_talking_to(SKEY(NW->node), NTT_CHECK))
{
- network_talking_to(ChrPtr(NW->node), NTT_ADD);
+ network_talking_to(SKEY(NW->node), NTT_ADD);
RunNetworker(NW);
continue;
}
eNextState RSSAggregatorTerminate(AsyncIO *IO);
+struct CitContext rss_CC;
struct rssnetcfg *rnclist = NULL;
void AppendLink(StrBuf *Message, StrBuf *link, StrBuf *LinkTitle, const char *Title)
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)
{
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);