From 478fed4891e75bfa3a045a7fb4a3606db07710f9 Mon Sep 17 00:00:00 2001 From: xushengbin Date: Tue, 4 Mar 2025 03:14:16 +0000 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81FDSAN=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E8=83=BD=E5=8A=9B=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xushengbin --- .../frame_aware_policy/src/intellisense_server.cpp | 5 +++-- interfaces/innerkits/frameintf/rtg_interface.cpp | 6 ++++-- qos_manager/src/qos_common.cpp | 11 +++++++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/frameworks/core/frame_aware_policy/src/intellisense_server.cpp b/frameworks/core/frame_aware_policy/src/intellisense_server.cpp index a09805e..737ed09 100644 --- a/frameworks/core/frame_aware_policy/src/intellisense_server.cpp +++ b/frameworks/core/frame_aware_policy/src/intellisense_server.cpp @@ -384,7 +384,8 @@ int IntelliSenseServer::CreateNewRtgGrp(int prioType, int rtNum) struct rtg_grp_data grp_data; int ret; char fileName[] = "/proc/self/sched_rtg_ctrl"; - int fd = open(fileName, O_RDWR); + FILE* f = fopen(fileName, "w+"); + int fd = fileno(f); if (fd < 0) { RME_LOGE("Open file /proc/self/sched_rth_ctrl, errno = %{public}d", errno); return fd; @@ -403,7 +404,7 @@ int IntelliSenseServer::CreateNewRtgGrp(int prioType, int rtNum) } else { RME_LOGI("create rtg grp success, get rtg id %{public}d.", ret); } - close(fd); + fclose(f); return ret; } } // namespace RME diff --git a/interfaces/innerkits/frameintf/rtg_interface.cpp b/interfaces/innerkits/frameintf/rtg_interface.cpp index 3677b6f..37f8f4e 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* fd = nullptr; #define CMD_ID_SET_ENABLE \ _IOWR(RTG_SCHED_IPC_MAGIC, SET_ENABLE, struct rtg_enable_data) @@ -65,7 +66,8 @@ static int g_fd = -1; __attribute__((constructor)) void BasicOpenRtgNode() { char fileName[] = "/proc/self/sched_rtg_ctrl"; - g_fd = open(fileName, O_RDWR); + fd = fopen(fileName, "w+"); + g_fd = fileno(fd); if (g_fd < 0) { RME_LOGI("rtg Open fail, errno = %{public}d(%{public}s), dev = %{public}s", errno, strerror(errno), fileName); return; @@ -80,7 +82,7 @@ __attribute__((destructor)) void BasicCloseRtgNode() return; } RME_LOGI("rtg Close g_fd ret is %{public}d", g_fd); - close(g_fd); + fclose(fd); g_fd = -1; } diff --git a/qos_manager/src/qos_common.cpp b/qos_manager/src/qos_common.cpp index 364413d..00fc505 100644 --- a/qos_manager/src/qos_common.cpp +++ b/qos_manager/src/qos_common.cpp @@ -28,10 +28,13 @@ constexpr unsigned int AF_QOS_DELEGATED = 0x0001; namespace OHOS { namespace QosCommon { +static FILE* f = nullptr; + static int TrivalOpenAuthCtrlNode(void) { char fileName[] = "/dev/auth_ctrl"; - int fd = open(fileName, O_RDWR); + f = fopen(fileName, "w+"); + int fd = fileno(f); return fd; } @@ -57,7 +60,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); } - close(fd); + fclose(f); return ret; } @@ -83,7 +86,7 @@ int AuthPause(int pid) if (ret < 0) { RME_LOGE("auth pause failed for pid %{public}d\n", pid); } - close(fd); + fclose(f); return ret; } @@ -106,7 +109,7 @@ int AuthDelete(int pid) if (ret < 0) { RME_LOGE("auth delete failed for pid %{public}d\n", pid); } - close(fd); + fclose(f); return ret; }