X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Frssclient%2Fserv_rssclient.c;h=b2cd3747f92ccfad92bbe97544b0fdbdd507882b;hb=c06d1f8100fedb4b90c04ab6aefca49262d7a48e;hp=90dc55680adc20893bcdc8d578552e3031daab2f;hpb=1400ff120598b1f582d17af3724cf6ed302663ed;p=citadel.git diff --git a/citadel/modules/rssclient/serv_rssclient.c b/citadel/modules/rssclient/serv_rssclient.c index 90dc55680..b2cd3747f 100644 --- a/citadel/modules/rssclient/serv_rssclient.c +++ b/citadel/modules/rssclient/serv_rssclient.c @@ -1285,15 +1285,10 @@ void rssclient_scan_room(struct ctdlroom *qrbuf, void *data) /* * Scan for rooms that have RSS client requests configured */ -void *rssclient_scan(void *args) { +void rssclient_scan(void *args) { static time_t last_run = 0L; static int doing_rssclient = 0; rssnetcfg *rptr = NULL; - CitContext rssclientCC; - - /* Give this thread its own private CitContext */ - CtdlFillSystemContext(&rssclientCC, "rssclient"); - citthread_setspecific(MyConKey, (void *)&rssclientCC ); /* * This is a simple concurrency check to make sure only one rssclient run @@ -1318,11 +1313,6 @@ void *rssclient_scan(void *args) { CtdlLogPrintf(CTDL_DEBUG, "rssclient ended\n"); last_run = time(NULL); doing_rssclient = 0; - if (!CtdlThreadCheckStop()) - CtdlThreadSchedule ("RSS Client", CTDLTHREAD_BIGSTACK, rssclient_scan, NULL, last_run + config.c_net_freq); - else - CtdlLogPrintf(CTDL_DEBUG, "rssclient: Task STOPPED.\n"); - CtdlClearSystemContext(); return NULL; } @@ -1332,7 +1322,7 @@ CTDL_MODULE_INIT(rssclient) if (threading) { CtdlLogPrintf(CTDL_INFO, "%s\n", curl_version()); - CtdlThreadSchedule ("RSS Client", CTDLTHREAD_BIGSTACK, rssclient_scan, NULL, 0); + CtdlRegisterSessionHook(rssclient_scan, EVT_TIMER); } StartHandlers = NewHash(1, NULL);