mirror of https://github.com/kiwix/libkiwix.git
When ConcurrentCache store a shared_ptr we may have shared_ptr in used while the ConcurrentCache has drop it. When we "recreate" a value to put in the cache, we don't want to recreate it, but copying the shared_ptr in use. To do so we use a (unlimited) store of weak_ptr (aka `WeakStore`) Every created shared_ptr added to the cache has a weak_ptr ref also stored in the WeakStore, and we check the WeakStore before creating the value. |
||
---|---|---|
.. | ||
data | ||
book.cpp | ||
counterParsing.cpp | ||
httplib.h | ||
kiwixserve.cpp | ||
library.cpp | ||
lrucache.cpp | ||
manager.cpp | ||
meson.build | ||
name_mapper.cpp | ||
opds_catalog.cpp | ||
pathTools.cpp | ||
regex.cpp | ||
server.cpp | ||
server_helper.cpp | ||
stringTools.cpp | ||
tagParsing.cpp |