• W
    remove dependency on options.h for port_posix.h andport_win.h (#11214) · 42d6652b
    Wentian Guo 提交于
    Summary:
    The files in `port/`, such as `port_posix.h`, are layering over the system libraries, so shouldn't include the DB-specific files like `options.h`. This PR remove this dependency.
    
    # How
    The reason that `port_posix.h` (or `port_win.h`) include `options.h` is to use `CpuPriority`, as there is a method `SetCpuPriority()` in `port_posix.h` that uses `CpuPriority.`
    - I think `SetCpuPriority()` make sense to exist in `port_posix.h` as it provides has platform-dependent implementation
    - `CpuPriority` enum is defined in `env.h`, but used in `rocksdb/include` and `port/`.
    
    Hence, let us define `CpuPriority` enum in a common file, say `port_defs.h`, such that both directories `rocksdb/include` and `port/` can include.
    
    When we remove this dependency, some other files have compile errors because they can't find definitions, so add header files to resolve
    
    # Test
    make all check -j
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/11214
    
    Reviewed By: pdillinger
    
    Differential Revision: D43196910
    
    Pulled By: guowentian
    
    fbshipit-source-id: 70deccb72844cfb08fcc994f76c6ef6df5d55ab9
    42d6652b
distributed_mutex.h 1.3 KB