//{
//#endif
+// need to expose without the include of gcov
+extern "C" void __gcov_flush(void);
+
+static void catch_function(int signal) {
+ __gcov_flush();
+ exit(signal);
+}
+
+
BOOST_LOG_INLINE_GLOBAL_LOGGER_DEFAULT(my_logger, src::logger_mt)
boost::shared_ptr<sinks::synchronous_sink<sinks::text_file_backend>> boostLogger;
int main(const int argc, char **argv) {
sctp_params_t sctpParams;
+
+
+
#ifdef __TRACING__
opentracing::Tracer::InitGlobal(tracelibcpp::createTracer("E2 Terminator"));
auto span = opentracing::Tracer::Global()->StartSpan(__FUNCTION__);
init_log();
mdclog_level_set(MDCLOG_INFO);
+ if (std::signal(SIGINT, catch_function) == SIG_ERR) {
+ mdclog_write(MDCLOG_ERR, "Errir initializing SIGINT");
+ exit(1);
+ }
+ if (std::signal(SIGABRT, catch_function)== SIG_ERR) {
+ mdclog_write(MDCLOG_ERR, "Errir initializing SIGABRT");
+ exit(1);
+ }
+ if (std::signal(SIGTERM, catch_function)== SIG_ERR) {
+ mdclog_write(MDCLOG_ERR, "Errir initializing SIGTERM");
+ exit(1);
+ }
+
+
cpuClock = approx_CPU_MHz(100);
mdclog_write(MDCLOG_DEBUG, "CPU speed %11.11f", cpuClock);
#include <iterator>
#include <map>
#include <sys/inotify.h>
+#include <csignal>
#include <rmr/rmr.h>
#include <rmr/RIC_message_types.h>
typedef struct RmrMessagesBuffer {
char ka_message[4096] {};
int ka_message_len = 0;
- void *rmrCtx;
- rmr_mbuf_t *sendMessage;
- rmr_mbuf_t *sendBufferedMessages[MAX_RMR_BUFF_ARRY];
- rmr_mbuf_t *rcvMessage;
- rmr_mbuf_t *rcvBufferedMessages[MAX_RMR_BUFF_ARRY];
+ void *rmrCtx = nullptr;
+ rmr_mbuf_t *sendMessage= nullptr;
+ rmr_mbuf_t *sendBufferedMessages[MAX_RMR_BUFF_ARRY] {};
+ rmr_mbuf_t *rcvMessage= nullptr;
+ rmr_mbuf_t *rcvBufferedMessages[MAX_RMR_BUFF_ARRY] {};
} RmrMessagesBuffer_t;
typedef struct formatedMessage {