• A
    Port folly/synchronization/DistributedMutex to rocksdb (#5642) · 38b03c84
    Aaryaman Sagar 提交于
    Summary:
    This ports `folly::DistributedMutex` into RocksDB. The PR includes everything else needed to compile and use DistributedMutex as a component within folly. Most files are unchanged except for some portability stuff and includes.
    
    For now, I've put this under `rocksdb/third-party`, but if there is a better folder to put this under, let me know. I also am not sure how or where to put unit tests for third-party stuff like this. It seems like gtest is included already, but I need to link with it from another third-party folder.
    
    This also includes some other common components from folly
    
    - folly/Optional
    - folly/ScopeGuard (In particular `SCOPE_EXIT`)
    - folly/synchronization/ParkingLot (A portable futex-like interface)
    - folly/synchronization/AtomicNotification (The standard C++ interface for futexes)
    - folly/Indestructible (For singletons that don't get destroyed without allocations)
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/5642
    
    Differential Revision: D16544439
    
    fbshipit-source-id: 179b98b5dcddc3075926d31a30f92fd064245731
    38b03c84
src.mk 32.0 KB