]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/rssclient/serv_rssclient.c
EV: stop all watchers before going into other queues - so we can avoid race conditions.
[citadel.git] / citadel / modules / rssclient / serv_rssclient.c
index 514ba1afd05b751131d5c3261bb1764ec7c493dc..5f1357603df48ffdb838948c6f301a4e5fa308a6 100644 (file)
@@ -539,8 +539,10 @@ eNextState RSSAggregator_AnalyseReply(AsyncIO *IO)
                if (it != NULL)
                {
                        void *vptr;
-                       GetNextHashPos(Ctx->OtherQRnumbers, it, &len, &Key, &vptr);
-                       pCfg = vptr;
+                       if (GetNextHashPos(Ctx->OtherQRnumbers, it, &len, &Key, &vptr))
+                               pCfg = vptr;
+                       else
+                               pCfg = NULL;
                }
                else 
                        pCfg = NULL;
@@ -589,7 +591,8 @@ eNextState RSSAggregator_AnalyseReply(AsyncIO *IO)
 
 eNextState RSSAggregator_FinishHttp(AsyncIO *IO)
 {
-       return QueueDBOperation(IO, RSSAggregator_AnalyseReply);
+       StopCurlWatchers(IO);
+       return CurlQueueDBOperation(IO, RSSAggregator_AnalyseReply);
 }
 
 /*