X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/d1694464b875e336ac335741596b15361929f630..a9f0ad12d639cdb5186f0482d2856278b41671a2:/server/rescan.c diff --git a/server/rescan.c b/server/rescan.c index a2f2678..53c566c 100644 --- a/server/rescan.c +++ b/server/rescan.c @@ -34,6 +34,7 @@ #include #include #include +#include #include "configuration.h" #include "syscalls.h" @@ -155,6 +156,8 @@ static void rescan_collection(const struct collection *c) { if(n < config->player.n) { nnew += !!trackdb_notice(track, path); ++ntracks; + if(ntracks % 1000 == 0) + info("rescanning %s, %ld tracks so far", c->root, ntracks); } } /* tidy up */ @@ -301,12 +304,20 @@ static void do_all(void (*fn)(const struct collection *c)) { */ } +/** @brief Expire noticed.db */ +static void expire_noticed(void) { + time_t now; + + time(&now); + trackdb_expire_noticed(now - config->noticed_history * 86400); +} + int main(int argc, char **argv) { int n; struct sigaction sa; set_progname(argv); - mem_init(1); + mem_init(); if(!setlocale(LC_CTYPE, "")) fatal(errno, "error calling setlocale"); while((n = getopt_long(argc, argv, "hVc:dD", options, 0)) >= 0) { switch(n) { @@ -323,7 +334,7 @@ int main(int argc, char **argv) { openlog(progname, LOG_PID, LOG_DAEMON); log_default = &log_syslog; } - if(config_read()) fatal(0, "cannot read configuration"); + if(config_read(0)) fatal(0, "cannot read configuration"); xnice(config->nice_rescan); sa.sa_handler = signal_handler; sa.sa_flags = SA_RESTART; @@ -338,6 +349,8 @@ int main(int argc, char **argv) { do_all(rescan_collection); /* Check that every track still exists */ recheck_collection(0); + /* Expire noticed.db */ + expire_noticed(); } else { /* Rescan specified collections */