#include "room_ops.h"
#include "serv_fulltext.h"
#include "ft_wordbreaker.h"
-
+#include "threads.h"
#include "ctdl_module.h"
*/
void ft_index_room(struct ctdlroom *qrbuf, void *data)
{
+ if (CtdlThreadCheckStop())
+ return;
+
getroom(&CC->room, qrbuf->QRname);
CtdlForEachMessage(MSGS_ALL, 0L, NULL, NULL, NULL, ft_index_msg, NULL);
}
ft_newmsgs = NULL;
}
end_time = time(NULL);
- lprintf(CTDL_DEBUG, "do_fulltext_indexing() duration (%ld)\n", end_time - run_time);
+ if (CtdlThreadCheckStop())
+ return;
+
+ lprintf(CTDL_DEBUG, "do_fulltext_indexing() duration (%ld)\n", end_time - run_time);
+
/* Save our place so we don't have to do this again */
ft_flush_cache();
begin_critical_section(S_CONTROL);
indexerCC.cs_pid = 0;
pthread_setspecific(MyConKey, (void *)&indexerCC );
- cdb_allocate_tsd();
-
while (!CtdlThreadCheckStop()) {
do_fulltext_indexing();
CtdlThreadSleep(300);
}
else
{
- CtdlThreadCreate("indexer", CTDLTHREAD_BIGSTACK, indexer_thread, NULL);
+ CtdlThreadCreate("Indexer", CTDLTHREAD_BIGSTACK, indexer_thread, NULL);
}
/* return our Subversion id for the Log */
return "$Id$";