google/leveldb

Make background thread stoppable

Open

#863 opened on Dec 18, 2020

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

Repository metrics

Stars
 (39,075 stars)
PR merge metrics
 (No merged PRs in 30d)

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