Files
Spoolman/spoolman
Donkie 89ffd3e4b1 Key the external filament catalog cache on size as well as mtime
_load_filaments memoizes the parsed catalog on the cache file's st_mtime alone.
Two writes landing in the same mtime tick therefore look identical to the cache and
the second one is never picked up -- the process keeps serving the stale parse until
some later sync happens to change the stamp.

The window is small on Linux, where st_mtime is nanosecond-resolution, but it is not
theoretical: Spoolman's data directory is routinely a bind mount, and filesystems
with 1-second mtime granularity are common there. A catalog refresh triggered close
after another write would be silently dropped.

Including st_size makes the key sensitive to any rewrite that changes length, which
is the realistic shape of a catalog update.
2026-07-29 10:35:50 +02:00
..
2023-04-02 19:19:15 +02:00
2026-07-07 10:12:35 +02:00
2026-07-13 19:33:52 +02:00
2024-05-23 19:42:27 +02:00
2024-05-23 19:42:27 +02:00