setlocale(LC_ALL, "");
}
+struct ElmRaii {
+ ElmRaii(int argc, char **argv)
+ {
+ DEBUG("elm_init()");
+ elm_init(argc, argv);
+ }
+
+ virtual ~ElmRaii()
+ {
+ DEBUG("elm_shutdown()");
+ /* TODO: do shutdown.
+ * shutdown generates segmentation fault by unknown reason.
+ */
+ // elm_shutdown();
+ }
+};
+
} // namespace anonymous
-int elm_main(int, char **)
+int main(int argc, char **argv)
{
try {
Csr::Audit::Logger::setTag("CSR_POPUP");
INFO("CSR popup service start!");
+ /* init/shutdown elm automatically */
+ ElmRaii elmRaii(argc, argv);
+
std::signal(SIGTERM, [](int signal) {
WARN("Popup is terminated by signal[" << strsignal(signal) << "]");
/* cleanup and close up stuff here */
return -1;
}
}
-ELM_MAIN()