b36386cfe9
Summary: Use sigaction to register signal handlers. This is preferred over `signal` function, according to `man 3p signal`. Add global sig_atomic_t flag when shutting down. Block other signal handlers when shutting down. Reviewers: mislav.bradac, mferencevic Reviewed By: mferencevic Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D943
24 lines
531 B
C++
24 lines
531 B
C++
#include "gtest/gtest.h"
|
|
|
|
#include <iostream>
|
|
#include <string>
|
|
#include <utility>
|
|
|
|
#include "utils/signals/handler.hpp"
|
|
#include "utils/stacktrace.hpp"
|
|
|
|
TEST(SignalHandler, SegmentationFaultTest) {
|
|
SignalHandler::RegisterHandler(Signal::SegmentationFault, []() {
|
|
std::cout << "Segmentation Fault" << std::endl;
|
|
Stacktrace stacktrace;
|
|
std::cout << stacktrace.dump() << std::endl;
|
|
});
|
|
|
|
std::raise(SIGSEGV);
|
|
}
|
|
|
|
int main(int argc, char **argv) {
|
|
::testing::InitGoogleTest(&argc, argv);
|
|
return RUN_ALL_TESTS();
|
|
}
|