Prioritize replacement of published legacy cache objects

This commit is contained in:
SpiderFish
2026-08-29 21:57:33 +10:00
parent bd2b623633
commit 4cb504cd25
+2 -2
View File
@@ -29,7 +29,7 @@
/* A single-writer, atomic Jellyfin compatibility cache. */ /* A single-writer, atomic Jellyfin compatibility cache. */
#define VERSION "2.0.0" #define VERSION "2.0.1"
#define HASH_HEX 32 #define HASH_HEX 32
#define AUDIO_BITRATE "192k" #define AUDIO_BITRATE "192k"
#define HASH_CHUNK (4U * 1024U * 1024U) #define HASH_CHUNK (4U * 1024U * 1024U)
@@ -1092,7 +1092,7 @@ static struct item *candidate(struct manager *m)
if (item->cache || !needs_cache || locked(m, item->relative) || if (item->cache || !needs_cache || locked(m, item->relative) ||
timer_get(&m->retries, item->relative) > time) continue; timer_get(&m->retries, item->relative) > time) continue;
double priority = timer_get(&m->priorities, item->relative); double priority = timer_get(&m->priorities, item->relative);
bool preferred = priority > 0; double order = preferred ? priority : item->mtime; bool preferred = item->fallback || priority > 0; double order = priority > 0 ? priority : item->mtime;
if (!best || preferred > best_priority || (preferred == best_priority && order > best_order)) { if (!best || preferred > best_priority || (preferred == best_priority && order > best_order)) {
best = item; best_priority = preferred; best_order = order; best = item; best_priority = preferred; best_order = order;
} }