diff --git a/watchdog/BUILD.gn b/watchdog/BUILD.gn index 395d2214c14a8fd7d49a8748c83c86f518066fc9..27b4bc5bb51cb3660ba4322b912bf5099fd8d07b 100755 --- a/watchdog/BUILD.gn +++ b/watchdog/BUILD.gn @@ -23,7 +23,10 @@ if (defined(ohos_lite)) { "//base/startup/init_lite/interfaces/innerkits/include", ] deps = [ "//base/startup/init_lite/services/log:init_log" ] - defines = [ "_GNU_SOURCE" ] + defines = [ + "_GNU_SOURCE", + "OHOS_LITE_WATCHDOG", + ] if (ohos_kernel_type == "linux") { defines += [ "LINUX_WATCHDOG" ] } diff --git a/watchdog/init_watchdog.c b/watchdog/init_watchdog.c index a8021760cbe8a1a63a58ab649558f111cce90bc2..cc5038ba26f68ffd44b74039c4c9dca0eb667300 100755 --- a/watchdog/init_watchdog.c +++ b/watchdog/init_watchdog.c @@ -15,8 +15,10 @@ #include #include +#include #include #include +#include #include #include #include @@ -75,7 +77,13 @@ int main(int argc, const char *argv[]) gap = (gap > 0) ? gap : DEFAULT_GAP; INIT_LOGI("watchdoge started (interval %d, margin %d), fd = %d\n", interval, gap, fd); - +#ifdef OHOS_LITE_WATCHDOG +#ifndef LINUX_WATCHDOG + if (setpriority(PRIO_PROCESS, 0, 14) != 0) { // 14 is process priority + INIT_LOGE("setpriority failed err=%d\n", errno); + } +#endif +#endif int timeoutSet = interval + gap; int timeoutGet = 0; int ret = ioctl(fd, WDIOC_SETTIMEOUT, &timeoutSet);