mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Follows #133180 Pull Request resolved: https://github.com/pytorch/pytorch/pull/133295 Approved by: https://github.com/Skylion007
21 lines
604 B
C++
21 lines
604 B
C++
#include <torch/csrc/autograd/utils/warnings.h>
|
|
|
|
namespace torch::autograd::utils {
|
|
|
|
void DelayWarningHandler::process(const c10::Warning& warning) {
|
|
std::lock_guard<std::mutex> lock(mutex_);
|
|
warnings_.push_back(warning);
|
|
}
|
|
|
|
void DelayWarningHandler::replay_warnings() {
|
|
std::lock_guard<std::mutex> lock(mutex_);
|
|
TORCH_INTERNAL_ASSERT(
|
|
c10::WarningUtils::get_warning_handler() != this,
|
|
"DelayWarningHandler cannot replay warnings into itself, this will cause a deadlock");
|
|
for (const auto& warning : warnings_) {
|
|
c10::warn(warning);
|
|
}
|
|
}
|
|
|
|
} // namespace torch::autograd::utils
|