diff --git a/frameworks/core/frame_aware_policy/src/intellisense_server.cpp b/frameworks/core/frame_aware_policy/src/intellisense_server.cpp index a8e348bbb585cfda6e9f949357629e1befa417c1..2df393da028b1ee64daeeacb309d481a05e89903 100644 --- a/frameworks/core/frame_aware_policy/src/intellisense_server.cpp +++ b/frameworks/core/frame_aware_policy/src/intellisense_server.cpp @@ -389,7 +389,7 @@ int IntelliSenseServer::CreateNewRtgGrp(int prioType, int rtNum) RME_LOGE("Open file /proc/self/sched_rth_ctrl, errno = %{public}d", errno); return -1; } - int fd = fileno(f); + int fd = fileno(f); if (fd < 0) { return fd; } diff --git a/interfaces/innerkits/frameintf/rtg_interface.cpp b/interfaces/innerkits/frameintf/rtg_interface.cpp index 9d07449859c8c8e68b718a9a5104719a8c14c1f6..9b7b6029ac66ecefd40110a215d830aff780cf0a 100644 --- a/interfaces/innerkits/frameintf/rtg_interface.cpp +++ b/interfaces/innerkits/frameintf/rtg_interface.cpp @@ -36,6 +36,7 @@ constexpr size_t MAX_LENGTH = 100; const char RTG_SCHED_IPC_MAGIC = 0xAB; static int g_fd = -1; +static FILE* g_f = nullptr; #define CMD_ID_SET_ENABLE \ _IOWR(RTG_SCHED_IPC_MAGIC, SET_ENABLE, struct rtg_enable_data) @@ -65,12 +66,12 @@ static int g_fd = -1; __attribute__((constructor)) void BasicOpenRtgNode() { char fileName[] = "/proc/self/sched_rtg_ctrl"; - FILE* fd = fopen(fileName, "r+"); - if (fd == nullptr) { + g_f = fopen(fileName, "r+"); + if (g_f == nullptr) { RME_LOGI("rtg Open fail, errno = %{public}d(%{public}s), dev = %{public}s", errno, strerror(errno), fileName); return; } - g_fd = fileno(fd); + g_fd = fileno(g_f); if (g_fd < 0) { return; } @@ -83,12 +84,13 @@ __attribute__((destructor)) void BasicCloseRtgNode() if (g_fd < 0) { return; } - FILE* fd = fdopen(g_fd, "r+"); - if (fd != nullptr) { - RME_LOGI("rtg Close g_fd ret is %{public}d", g_fd); - fclose(fd); + RME_LOGI("rtg Close g_fd ret is %{public}d", g_fd); + int fc = fclose(g_f); + if (fc != 0) { + RME_LOGE("rtg fclose file /proc/self/sched_rtg_ctrl, errno = %{public}d (%{public}s)", errno, strerror(errno)); } g_fd = -1; + g_f = nullptr; } int EnableRtg(bool flag) diff --git a/qos_manager/src/qos_common.cpp b/qos_manager/src/qos_common.cpp index 5efe2419aaa8eb543bd8fc830855d61f4d3c1f92..364413dfa5d3b1098ad48d47cd834a47c187bfc3 100644 --- a/qos_manager/src/qos_common.cpp +++ b/qos_manager/src/qos_common.cpp @@ -31,11 +31,7 @@ namespace QosCommon { static int TrivalOpenAuthCtrlNode(void) { char fileName[] = "/dev/auth_ctrl"; - FILE* f = fopen(fileName, "r+"); - if (f == nullptr) { - return -1; - } - int fd = fileno(f); + int fd = open(fileName, O_RDWR); return fd; } @@ -61,10 +57,7 @@ int AuthEnable(int pid, unsigned int flag, unsigned int status) if (ret < 0) { RME_LOGE("auth enable failed for pid %{public}d with status %{public}u\n", pid, status); } - FILE* f = fdopen(fd, "r+"); - if (f != nullptr) { - fclose(f); - } + close(fd); return ret; } @@ -90,10 +83,7 @@ int AuthPause(int pid) if (ret < 0) { RME_LOGE("auth pause failed for pid %{public}d\n", pid); } - FILE* f = fdopen(fd, "r+"); - if (f != nullptr) { - fclose(f); - } + close(fd); return ret; } @@ -116,10 +106,7 @@ int AuthDelete(int pid) if (ret < 0) { RME_LOGE("auth delete failed for pid %{public}d\n", pid); } - FILE* f = fdopen(fd, "r+"); - if (f != nullptr) { - fclose(f); - } + close(fd); return ret; }