summaryrefslogtreecommitdiff
path: root/crawler.c
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2016-12-16 00:59:56 -0800
committerdormando <dormando@rydia.net>2016-12-16 00:59:56 -0800
commit356ed3f99a1ce0bb0a656c44e34a9990729500cd (patch)
tree1d7f78c0c5098b83159f5a0b3af73c017fa6e644 /crawler.c
parentbd578fc34b96abe0f8d99c1409814a09f51ee71c (diff)
downloadmemcached-356ed3f99a1ce0bb0a656c44e34a9990729500cd.tar.gz
fix segfault if metadump client goes away
missing else branch caused the first slab class to hit a closed client to terminate, but didn't kill the run and the next slab class would try to print to the missing client.
Diffstat (limited to 'crawler.c')
-rw-r--r--crawler.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/crawler.c b/crawler.c
index 246c70c..d0e635c 100644
--- a/crawler.c
+++ b/crawler.c
@@ -344,6 +344,9 @@ static void *item_crawler_thread(void *arg) {
lru_crawler_class_done(i);
continue;
}
+ } else if (active_crawler_mod.mod->needs_client) {
+ lru_crawler_class_done(i);
+ continue;
}
pthread_mutex_lock(&lru_locks[i]);
search = do_item_crawl_q((item *)&crawlers[i]);