]> git.ipfire.org Git - thirdparty/knot-resolver.git/commit
lib/cache: abort() if emergency cache-clear fails
authorVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 18 Aug 2020 16:45:28 +0000 (18:45 +0200)
committerPetr Špaček <petr.spacek@nic.cz>
Mon, 7 Sep 2020 15:47:11 +0000 (17:47 +0200)
commit532865cba6e29e3810c31780075db02fc5211787
treece31f93b8902aa1e87a3844cdebc74b563c148ca
parenta98f8abd658cf5cd065300f2fb24f52ef590207f
lib/cache: abort() if emergency cache-clear fails

As the code has been so far, there's no usable cache in that case
and some code just can't handle that.  Up to now we were getting
SIGSEGV from inside LMDB on the next attempted operation.

We might consider loosening preallocation in that case or even
retrying after a short sleep.  Systemd's restart after hold-off
timeout has an effect similar to the short sleep.
lib/cache/api.c
lib/cache/api.h
lib/cache/cdb_lmdb.c
lib/cache/entry_list.c