diff options
author | dormando <dormando@rydia.net> | 2016-12-16 00:59:56 -0800 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2016-12-16 00:59:56 -0800 |
commit | 356ed3f99a1ce0bb0a656c44e34a9990729500cd (patch) | |
tree | 1d7f78c0c5098b83159f5a0b3af73c017fa6e644 /crawler.c | |
parent | bd578fc34b96abe0f8d99c1409814a09f51ee71c (diff) | |
download | memcached-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.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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]); |