diff --git a/pwrapic/src/powerapi.c b/pwrapic/src/powerapi.c index d08e1fea63ed0edd927dd010591c6f2ecdb39c7f..6e0e5efc269ae9b2573099c8a8124b92ac01c50b 100644 --- a/pwrapic/src/powerapi.c +++ b/pwrapic/src/powerapi.c @@ -495,7 +495,7 @@ int PWR_PROC_GetWattState(int *state) int PWR_PROC_SetWattState(int state) { CHECK_STATUS(STATUS_AUTHED); - if (state != PWR_ENABLE || state != PWR_DISABLE) { + if (state != PWR_ENABLE && state != PWR_DISABLE) { return PWR_ERR_INVALIDE_PARAM; } return SetProcWattState(state); @@ -561,7 +561,7 @@ int PWR_PROC_GetSmartGridState(int *state) int PWR_PROC_SetSmartGridState(int state) { CHECK_STATUS(STATUS_AUTHED); - if (state != PWR_ENABLE || state != PWR_DISABLE) { + if (state != PWR_ENABLE && state != PWR_DISABLE) { return PWR_ERR_INVALIDE_PARAM; } return SetSmartGridState(state); diff --git a/pwrapic/src/pwrproc.c b/pwrapic/src/pwrproc.c index 196746c98e9262c0a2f96580e7f465fdd3ccc028..3ac86f5dc8f6e2e249e4cd79a7f0846e32461b20 100644 --- a/pwrapic/src/pwrproc.c +++ b/pwrapic/src/pwrproc.c @@ -219,9 +219,10 @@ int GetSmartGridProcs(PWR_PROC_SMART_GRID_LEVEL level, PWR_PROC_SmartGridProcs * int ret = SendReqAndWaitForRsp(input, output); if (ret != PWR_SUCCESS) { - PwrLog(ERROR, "GetWattProcs failed. ret:%d", ret); + PwrLog(ERROR, "GetSmartGridProcs failed. ret:%d", ret); } else { - PwrLog(DEBUG, "GetWattProcs succeed."); + sgProcs->procNum = (size - sizeof(PWR_PROC_SmartGridProcs)) / sizeof(pid_t); + PwrLog(DEBUG, "GetSmartGridProcs succeed."); } return ret; } diff --git a/pwrapic/test/procapitest.c b/pwrapic/test/procapitest.c index 9f9110446639d5636b2ba34f170618b5f25cecae..3d5d8d5319298f048328a247d186c79b6440dd3c 100644 --- a/pwrapic/test/procapitest.c +++ b/pwrapic/test/procapitest.c @@ -25,7 +25,7 @@ static void TEST_PWR_PROC_SetAndGetWattState(void) ret = PWR_PROC_GetWattState(&state); printf("PWR_PROC_GetWattState. ret: %d state:%d\n", ret, state); ret = PWR_PROC_SetWattState(PWR_ENABLE); - printf("PWR_PROC_SetWattState. ret: %d state:%d\n", ret, state); + printf("PWR_PROC_SetWattState. ret: %d state:%d\n", ret, PWR_ENABLE); } #define TEST_WATT_TH 60 @@ -49,7 +49,8 @@ static void TEST_PWR_PROC_SetAndGetWattAttrs(void) } bzero(&was, sizeof(was)); (void)PWR_PROC_GetWattAttrs(&was); - printf("PWR_PROC_SetWattAttrs: SUCCESS\n"); + printf("After PWR_PROC_SetWattAttrs: ret:%d th:%d, interval:%d dmask:%d\n", ret, + was.scaleThreshold, was.scaleInterval, was.domainMask); } #define TEST_PID_NUM 2 @@ -86,8 +87,8 @@ static void TEST_PWR_PROC_SetAndGetSmartGridState(void) int ret = PWR_SUCCESS; ret = PWR_PROC_GetSmartGridState(&state); printf("PWR_PROC_GetSmartGridState. ret: %d state:%d\n", ret, state); - ret = PWR_PROC_SetSmartGridState(!state); - printf("PWR_PROC_SetSmartGridState. ret: %d state:%d\n", ret, state); + ret = PWR_PROC_SetSmartGridState(PWR_ENABLE); + printf("PWR_PROC_SetSmartGridState. ret: %d\n", ret); } static void TEST_PWR_PROC_SetAndGetSmartGridProcs(void) @@ -104,6 +105,7 @@ static void TEST_PWR_PROC_SetAndGetSmartGridProcs(void) int ret = PWR_PROC_SetSmartGridLevel(sgp); printf("PWR_PROC_SetSmartGridLevel: ret:%d\n", ret); bzero(sgp, size); + sgp->procNum = TEST_PID_NUM; ret = PWR_PROC_GetSmartGridProcs(PWR_PROC_SG_LEVEL_1, sgp); printf("PWR_PROC_GetSmartGridProcs: ret:%d num:%d\n", ret, sgp->procNum); for (int i = 0; i < sgp->procNum; i++) { diff --git a/pwrapis/src/procservice.c b/pwrapis/src/procservice.c index d405c13d0d85d0f558866dc52b5315c49639cf19..ec0eb6ef47e8a39ac51157c107088978987bee6d 100644 --- a/pwrapis/src/procservice.c +++ b/pwrapis/src/procservice.c @@ -30,7 +30,7 @@ #define WATT_PROC_PATH "/sys/fs/cgroup/cpu/watt_sched/tasks" #define ROOT_CGROUP_PROC_PATH "/sys/fs/cgroup/cpu/tasks" -#define SMART_GRID_STATE_PATH "/proc/sys/kernel/smart_grid_strategy_ctl" +#define SMART_GRID_STATE_PATH "/proc/sys/kernel/smart_grid_strategy_ctrl" #define SMART_GRID_LEVEL_PATH_D "/proc/%d/smart_grid_level" #define SMART_GRID_LEVEL_PATH_S "/proc/%s/smart_grid_level" #define PROC_PATH "/proc" @@ -193,7 +193,7 @@ void ProcSetWattState(PwrMsg *req) return; } int *state = (int *)req->data; - if (*state != PWR_ENABLE || *state != PWR_DISABLE) { + if (*state != PWR_ENABLE && *state != PWR_DISABLE) { SendRspToClient(req, PWR_ERR_INVALIDE_PARAM, NULL, 0); return; } @@ -347,7 +347,7 @@ void ProcSetSmartGridState(PwrMsg *req) break; } int *state = (int *)req->data; - if (*state != PWR_ENABLE || *state != PWR_DISABLE) { + if (*state != PWR_ENABLE && *state != PWR_DISABLE) { ret = PWR_ERR_INVALIDE_PARAM; break; } @@ -373,14 +373,15 @@ void ProcGetSmartGridProcs(PwrMsg *req) return; } - PWR_PROC_SMART_GRID_LEVEL level = (PWR_PROC_SMART_GRID_LEVEL)req->data; + PWR_PROC_SMART_GRID_LEVEL *level = (PWR_PROC_SMART_GRID_LEVEL *)req->data; size_t size = sizeof(PWR_PROC_SmartGridProcs) + PWR_MAX_PROC_NUM * sizeof(pid_t); PWR_PROC_SmartGridProcs *sgProcs = (PWR_PROC_SmartGridProcs *)malloc(size); if (!sgProcs) { SendRspToClient(req, PWR_ERR_SYS_EXCEPTION, NULL, 0); return; } - int ret = ReadSmartGridProcsByLevel(level, sgProcs, PWR_MAX_PROC_NUM); + bzero(sgProcs, size); + int ret = ReadSmartGridProcsByLevel(*level, sgProcs, PWR_MAX_PROC_NUM); if (ret != PWR_SUCCESS) { free(sgProcs); SendRspToClient(req, ret, NULL, 0); diff --git a/pwrapis/src/server.c b/pwrapis/src/server.c index 7cbf4bdd207ba7f3530e8b7cfbf29d9292a0a421..e321f6516beeb647644b99fc668c54e8b0bbc3e4 100644 --- a/pwrapis/src/server.c +++ b/pwrapis/src/server.c @@ -56,12 +56,12 @@ static int ListenStart(int sockFd, const struct sockaddr_un *addr) ret = setsockopt(sockFd, SOL_SOCKET, SO_REUSEADDR, (char *)&reuse, sizeof(int)); if (ret < 0) { - Logger(ERROR, MD_NM_SVR, "set reuse socket error %s errno: %d\n", strerror(errno), errno); + Logger(ERROR, MD_NM_SVR, "set reuse socket error %s errno: %d", strerror(errno), errno); return PWR_ERR_SYS_EXCEPTION; } ret = bind(sockFd, (struct sockaddr *)addr, sizeof(struct sockaddr_un)); if (ret < 0) { - Logger(ERROR, MD_NM_SVR, "bind socket error %s errno: %d\n", strerror(errno), errno); + Logger(ERROR, MD_NM_SVR, "bind socket error %s errno: %d", strerror(errno), errno); return PWR_ERR_SYS_EXCEPTION; } @@ -75,7 +75,7 @@ static int ListenStart(int sockFd, const struct sockaddr_un *addr) ret = listen(sockFd, MAX_PEDDING_SOCKS); if (ret < 0) { - Logger(ERROR, MD_NM_SVR, "listen error %s errno: %d\n", strerror(errno), errno); + Logger(ERROR, MD_NM_SVR, "listen error %s errno: %d", strerror(errno), errno); return PWR_ERR_SYS_EXCEPTION; } g_listenFd = sockFd; @@ -97,7 +97,7 @@ static int StartUnxListen(const char *localFileName) // Create a socket sockFd = socket(AF_UNIX, SOCK_STREAM, 0); if (sockFd < 0) { - Logger(ERROR, MD_NM_SVR, "socket error %s errno: %d\n", strerror(errno), errno); + Logger(ERROR, MD_NM_SVR, "socket error %s errno: %d", strerror(errno), errno); return PWR_ERR_SYS_EXCEPTION; } return ListenStart(sockFd, (struct sockaddr_un *)&tSockaddr); @@ -390,7 +390,8 @@ static void ProcessSendMsgToClient(void) continue; } SendMsgToClientAction(dstFd, msg); - Logger(DEBUG, MD_NM_SVR, "send msg. opt:%d,sysId:%d", msg->head.optType, msg->head.sysId); + Logger(DEBUG, MD_NM_SVR, "send msg. opt:%d, sysId:%d, rspCode:%d", + msg->head.optType, msg->head.sysId, msg->head.rspCode); ReleasePwrMsg(&msg); } } diff --git a/pwrapis/src/utils.c b/pwrapis/src/utils.c index 5e40a497d0039caf5da9641e90bd82e0f2011f6d..8d4001b4d06e0712e59658f8ed02da171543700e 100644 --- a/pwrapis/src/utils.c +++ b/pwrapis/src/utils.c @@ -947,7 +947,7 @@ int ReadFile(const char *strInfo, char *buf, int bufLen) if (fd == -1) { return 1; } - if (read(fd, buf, bufLen - 1) <= 0) { + if (read(fd, buf, bufLen - 1) < 0) { close(fd); return 1; }