MCPcopy Create free account
hub / github.com/XTXMarkets/ternfs / installLoggerSignalHandler

Function installLoggerSignalHandler

cpp/core/Env.cpp:48–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46}
47
48void installLoggerSignalHandler(void* logger) {
49 Logger* old = nullptr;
50 if (!debuggableLogger.compare_exchange_strong(old, (Logger*)logger)) {
51 throw TERN_EXCEPTION("Could not install logger signal handler, some other logger is already here.");
52 }
53
54 struct sigaction act;
55 act.sa_handler = loggerSignalHandler;
56 if (sigemptyset(&act.sa_mask) != 0) {
57 SYSCALL_EXCEPTION("sigemptyset");
58 }
59 act.sa_flags = 0;
60
61 // USR1 is used by undertaker
62 if (sigaction(SIGUSR2, &act, NULL) < 0) {
63 throw SYSCALL_EXCEPTION("sigaction");
64 }
65}
66
67void tearDownLoggerSignalHandler(void* logger) {
68 Logger* old = (Logger*)logger;

Callers 1

LoggerMethod · 0.85

Calls 1

sigactionClass · 0.70

Tested by

no test coverage detected