free_recipients(Ctx->recp);
FreeStrBuf(&Ctx->Message);
FreeStrBuf(&Ctx->MsgGUID);
+ ((struct CitContext*)IO->CitContext)->state = CON_IDLE;
+ ((struct CitContext*)IO->CitContext)->kill_me = 1;
free(Ctx);
last_run = time(NULL);
return eAbort;
{
networker_save_message *Ctx;
+ pthread_mutex_lock(&RSSQueueMutex);
+ Cfg->RefCount ++;
+ pthread_mutex_unlock(&RSSQueueMutex);
+
+
Ctx = (networker_save_message *) malloc(sizeof(networker_save_message));
memset(Ctx, 0, sizeof(networker_save_message));
if ((Cfg->next_poll != 0) && (now < Cfg->next_poll))
return 0;
- Cfg->RefCount = 1;
+ Cfg->RefCount++;
ri = (rss_item*) malloc(sizeof(rss_item));
memset(ri, 0, sizeof(rss_item));
return 0;
}
- evcurl_handle_start(IO);
+ QueueCurlContext(IO);
return 1;
}
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)
}
pthread_mutex_unlock(&RSSQueueMutex);
-/*
+
At = GetNewHashPos(RSSFetchUrls, 0);
pthread_mutex_lock(&RSSQueueMutex);
pthread_mutex_unlock(&RSSQueueMutex);
DeleteHashPos(&At);
-*/
return eAbort;
}
pthread_mutex_unlock(&RSSQueueMutex);
- FreeStrBuf(&rncptr->Url);
+ FreeStrBuf(&rncptr->Url);
free(rncptr);
rncptr = NULL;
continue;