diff --git a/thread.c b/thread.c index 6e19a2e..fb5d6d0 100644 --- a/thread.c +++ b/thread.c @@ -227,12 +227,16 @@ void stop_threads(void) { stop_item_crawler_thread(CRAWLER_WAIT); if (settings.verbose > 0) fprintf(stderr, "stopped lru crawler\n"); - stop_lru_maintainer_thread(); - if (settings.verbose > 0) - fprintf(stderr, "stopped maintainer\n"); - stop_slab_maintenance_thread(); - if (settings.verbose > 0) - fprintf(stderr, "stopped slab mover\n"); + if (settings.lru_maintainer_thread) { + stop_lru_maintainer_thread(); + if (settings.verbose > 0) + fprintf(stderr, "stopped maintainer\n"); + } + if (settings.slab_reassign) { + stop_slab_maintenance_thread(); + if (settings.verbose > 0) + fprintf(stderr, "stopped slab mover\n"); + } logger_stop(); if (settings.verbose > 0) fprintf(stderr, "stopped logger thread\n");