diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2024-05-29 09:49:56 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2024-05-29 09:49:56 -0400 |
commit | 316bc0bdf30514a0c6894ef7c2859e79bf02a546 (patch) | |
tree | e829a65510be02498f806d9c0c4861097f30f9f6 /.pre-commit-config.yaml | |
parent | 30da8853c88e755ac5c0836f3952d16d501d3502 (diff) |
Make ~ThreadPool() join every thread before destroying its vector.
Otherwise we fall into the trap of destroying a joinable std::thread, which
calls std::terminate() and hence our crash-on-terminate() handler.
The previous ~ThreadPool() logic only joined threads if the queue wasn't
already closed, but evidently we can reach the destructor with the queue
closed but the threads not yet joined.
Fixes #1534.
Diffstat (limited to '.pre-commit-config.yaml')
0 files changed, 0 insertions, 0 deletions