Files
pytorch/c10/util/DeadlockDetection.cpp
cyy 47a78daf91 [Environment Variable][1/N] Use thread-safe env variable API in c10 (#119449)
This PR is the beginning of attempts to wrap thread-unsafe getenv and set_env functions inside a RW mutex.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/119449
Approved by: https://github.com/malfet, https://github.com/albanD, https://github.com/eqy
2024-10-01 06:24:30 +00:00

30 lines
586 B
C++

#include <c10/util/DeadlockDetection.h>
#include <c10/util/env.h>
namespace c10::impl {
namespace {
PythonGILHooks* python_gil_hooks = nullptr;
bool disable_detection() {
return c10::utils::has_env("TORCH_DISABLE_DEADLOCK_DETECTION");
}
} // namespace
bool check_python_gil() {
if (!python_gil_hooks) {
return false;
}
return python_gil_hooks->check_python_gil();
}
void SetPythonGILHooks(PythonGILHooks* hooks) {
if (disable_detection()) {
return;
}
TORCH_INTERNAL_ASSERT(!hooks || !python_gil_hooks);
python_gil_hooks = hooks;
}
} // namespace c10::impl