google/leveldb

Make background thread stoppable

Open

#863 opened on Dec 18, 2020

View on GitHub
 (2 comments) (0 reactions) (0 assignees)C++ (39,075 stars) (8,199 forks)batch import
enhancementhelp wanted

Description

Hi,

Current version of LevelDB has detached background thread that can't be stopped and each environment calls std::abort() in destructor. This behavior prevents using of LevelDB in plugin dlls that can be started and stopped when main application still runs.

I think it is better to allow background thread to finish tasks in queue and then exit, when environment is being destroyed. That will make database loadable and unloadable.

Contributor guide