pytorch
27ea79b8 - Use a more reliable signaling mechansim to stop TCPStore background threads (#76973)

Commit
2 years ago
Use a more reliable signaling mechansim to stop TCPStore background threads (#76973) Summary: The main thread establishes a dedicated stop signal pipe for each TCPStore background thread. Before joining a background thread, the main thread would close the write end of the corresponding pipe, expecting the background the thread to receive POLLHUP. Upon receiving POLLHUP, the background thread would break the loop and graceful exit. Although we haven't found any documentation or literature backing this, we have evidence that under certain circumstances, the read end of the pipe won't receive POLLUP when the write end is closed. However, under the same circumstances, writing to the pipe will guarantee POLLIN to be received on the read end. Test Plan: Manually tested Differential Revision: D36208897 Pull Request resolved: https://github.com/pytorch/pytorch/pull/76973 Approved by: https://github.com/cbalioglu
Author
Committer
Parents
Loading