blob: 14d93a0df6702180d65bd023b466cd0abdadcccb [file] [log] [blame]
#pragma once
#include <c10/util/signal_handler.h>
namespace caffe2 {
#if defined(C10_SUPPORTS_FATAL_SIGNAL_HANDLERS)
class TORCH_API C2FatalSignalHandler : public c10::FatalSignalHandler {
public:
void fatalSignalHandlerPostProcess() override;
static C2FatalSignalHandler& getInstance();
private:
explicit C2FatalSignalHandler();
};
// This works by setting up certain fatal signal handlers. Previous fatal
// signal handlers will still be called when the signal is raised. Defaults
// to being off.
TORCH_API void setPrintStackTracesOnFatalSignal(bool print);
TORCH_API bool printStackTracesOnFatalSignal();
#endif // defined(C10_SUPPORTS_FATAL_SIGNAL_HANDLER)
} // namespace caffe2