fe608e32ab
Summary: Fix a race condition when we create a thread and immediately destroy This case should be supported. What happens is that the thread function needs the Data instance to actually run but has no shared ownership and must rely on the WindowsThread instance to continue existing. To address this we change unique_ptr to shared_ptr and then acquire an additional refcount for the threadproc which destroys it just before the thread exit. We choose to allocate shared_ptr instance on the heap as this allows the original thread to continue w/o waiting for the new thread to start running. Closes https://github.com/facebook/rocksdb/pull/3240 Differential Revision: D6511324 Pulled By: yiwu-arbug fbshipit-source-id: 4633ff7996daf4d287a9fe34f60c1dd28cf4ff36 |
||
---|---|---|
.. | ||
env_default.cc | ||
env_win.cc | ||
env_win.h | ||
io_win.cc | ||
io_win.h | ||
port_win.cc | ||
port_win.h | ||
win_jemalloc.cc | ||
win_logger.cc | ||
win_logger.h | ||
win_thread.cc | ||
win_thread.h | ||
xpress_win.cc | ||
xpress_win.h |