X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Frssclient%2Fserv_rssclient.c;h=79ba35c6058fdadd06a591a3f86f21b09080230f;hb=b5b30adb3ece1aa3de706047de6ba0245eea74fc;hp=24e3d6097f1c1c29aa5deb2001546e721a9e0dde;hpb=01feb5e8d438e089fb7ae5232af89d67b7751df9;p=citadel.git diff --git a/citadel/modules/rssclient/serv_rssclient.c b/citadel/modules/rssclient/serv_rssclient.c index 24e3d6097..79ba35c60 100644 --- a/citadel/modules/rssclient/serv_rssclient.c +++ b/citadel/modules/rssclient/serv_rssclient.c @@ -69,7 +69,7 @@ HashList *RSSQueueRooms = NULL; /* rss_room_counter */ HashList *RSSFetchUrls = NULL; /* -> rss_aggregator; ->RefCount access to be locked too. */ eNextState RSSAggregatorTerminate(AsyncIO *IO); - +eNextState RSSAggregatorShutdownAbort(AsyncIO *IO); struct CitContext rss_CC; struct rssnetcfg *rnclist = NULL; @@ -475,7 +475,8 @@ int rss_do_fetching(rss_aggregator *Cfg) NULL, "Citadel RSS Client", ParseRSSReply, - RSSAggregatorTerminate)) + RSSAggregatorTerminate, + RSSAggregatorShutdownAbort)) { syslog(LOG_DEBUG, "Unable to initialize libcurl.\n"); return 0; @@ -532,6 +533,21 @@ eNextState RSSAggregatorTerminate(AsyncIO *IO) EVM_syslog(LOG_DEBUG, "RSS: Terminating.\n"); + UnlinkRSSAggregator(rncptr); + return eAbort; +} +eNextState RSSAggregatorShutdownAbort(AsyncIO *IO) +{ + const char *pUrl; + rss_aggregator *rncptr = (rss_aggregator *)IO->Data; + + pUrl = IO->ConnectMe->PlainUrl; + if (pUrl == NULL) + pUrl = ""; + + EV_syslog(LOG_DEBUG, "RSS: Aborting by shutdown: %s.\n", pUrl); + + UnlinkRSSAggregator(rncptr); return eAbort; }