Andrew Kryczka 23ffed9cb7 Prevent joining detached thread in ThreadPoolImpl (#8635)
Summary:
This draining mechanism should not be run during `JoinThreads()` because it can detach threads that will be joined. Joining detached threads would throw an exception.

With this PR, we skip draining when `JoinThreads()` has already decided what threads to `join()`, so the threads will exit naturally once the work queue empties.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8635

Test Plan: verified it unblocked using `WaitForJobsAndJoinAllThreads()` in https://github.com/facebook/rocksdb/issues/8611.

Reviewed By: riversand963

Differential Revision: D30174587

Pulled By: ajkr

fbshipit-source-id: 144966398a607987e0763c7152a0f653fdbf3c8b
2021-08-06 19:06:02 -07:00
..
2020-10-01 09:23:04 -07:00
2020-04-20 13:24:25 -07:00
2017-07-15 16:11:23 -07:00
2020-10-01 09:23:04 -07:00
2020-10-28 23:22:27 -07:00