pytorch
5f641f93 - [aten] Don't deadlock in IValue::Future impl, tests. (#34099)

Commit
4 years ago
[aten] Don't deadlock in IValue::Future impl, tests. (#34099) Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/34099 This change effectively applies into IValue's future impl a few fixes we discovered when using the torch::utils::Future<T> impl. The parallel impls should probably eventually be merged, but until then: - Don't hold the lock when invoking the callbacks. This makes it effectively impossible (deadlocks) to call value() to get the value from inside the callback. - We discovered that it was slightly cleaner in practice to notify condition variables prior to invoking callbacks (best to unblock paused threads ASAP, before spawning new work). - Fix some var naming inconsistency. - Add a some caffe2 cpp test coverage. ghstack-source-id: 99336569 Test Plan: ``` buck test mode/dev //caffe2/test/cpp/jit:jit -- 'JitTest\.IValueFuture' ``` Differential Revision: D20203278 fbshipit-source-id: 6e805ba547899dab9aab458e4b23049db31f930e
Author
Parents
Loading