+++ /dev/null
-/*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "app-core-cpp/anr_monitor_private.hh"
-
-#include <errno.h>
-#include <stdio.h>
-
-#include "app-core-cpp/backtrace_private.hh"
-#include "common/log_private.hh"
-
-#define SIGRTANR (SIGRTMIN + 3)
-
-namespace tizen_cpp {
-namespace internal {
-
-AnrMonitor::AnrMonitor() {
- struct sigaction action;
- memset(&action, '\0', sizeof(action));
- sigemptyset(&action.sa_mask);
- action.sa_flags = SA_RESTART;
- action.sa_handler = SignalHandler;
-
- if (sigaction(SIGRTANR, &action, &old_action_) != 0)
- _E("sigaction() is failed. errno(%d)", errno);
-}
-
-AnrMonitor::~AnrMonitor() {
- if (sigaction(SIGRTANR, &old_action_, nullptr) != 0)
- _W("sigaction() is failed. errno(%d)", errno);
-}
-
-void AnrMonitor::SignalHandler(int signo) {
- static unsigned int count;
- STDERR("===================================================================");
- STDERR("=================== Application Not Responding ====================");
- PRINT_BACKTRACE();
- STDERR("============== Application did not respond %d times ===============",
- ++count);
- STDERR("===================================================================");
-}
-
-} // namespace internal
-} // namespace tizen_cpp
+++ /dev/null
-/*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef TIZEN_CPP_APP_CORE_CPP_ANR_MONITOR_PRIVATE_HH_
-#define TIZEN_CPP_APP_CORE_CPP_ANR_MONITOR_PRIVATE_HH_
-
-#include <signal.h>
-
-namespace tizen_cpp {
-namespace internal {
-
-class AnrMonitor {
- public:
- AnrMonitor();
- ~AnrMonitor();
-
- AnrMonitor(const AnrMonitor&) = delete;
- AnrMonitor& operator = (const AnrMonitor&) = delete;
- AnrMonitor(AnrMonitor&&) = delete;
- AnrMonitor& operator = (AnrMonitor&&) = delete;
-
- private:
- static void SignalHandler(int signo);
-
- private:
- struct sigaction old_action_;
-};
-
-} // namespace internal
-} // namespace tizen_cpp
-
-#endif // TIZEN_CPP_APP_CORE_CPP_ANR_MONITOR_PRIVATE_HH_