咱們服務器內用leveldb存一些不是很重要的, 可是又須要(半)持久化的東西. 但是自從2016到如今, 遇見好幾回不一樣類型的死鎖. 直到今天, 才發現真正的緣由, 那就是leveldb不支持fork.服務器
因此在你使用leveldb的時候, 必定須要注意初始化順序:code
或者:it
總之, 不能init leveldb而後再fork, 一旦這樣作, 最後就會無限卡在leveldb::port::CondVar::Wait.class
leveldb::port::CondVar::Wait
切記切記….db