From 4caf2266b85f0bfefa96125ddd67ac8cd5cc192d Mon Sep 17 00:00:00 2001 From: yudongdong Date: Tue, 8 Jun 2021 02:03:33 +0800 Subject: [PATCH 1/2] Fix misoperation on task system --- kernel/thread/ktask.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kernel/thread/ktask.c b/kernel/thread/ktask.c index f966ec5a1..4753c7ad3 100644 --- a/kernel/thread/ktask.c +++ b/kernel/thread/ktask.c @@ -269,12 +269,13 @@ x_err_t _KTaskPrioSet(KTaskDescriptorType task, uint8 prio) case KTASK_INIT: case KTASK_SUSPEND: case KTASK_RUNNING: - task->task_dync_sched_member.cur_prio = prio; KTaskDescriptorType tid; + task->task_dync_sched_member.cur_prio = prio; + __BitmapSiteMask(task); + break; case KTASK_CLOSE: - ShowTask(); KPrintf("the close stat task is forbidden to change priority.\n"); - ret = -ERROR; + ret = EOK; break; default: KPrintf("invalid stat task is forbidden to change priority.\n"); From 8b1a886e133aa0b3d45a49213d49e56daa8dc0ed Mon Sep 17 00:00:00 2001 From: yudongdong Date: Tue, 8 Jun 2021 03:15:28 +0800 Subject: [PATCH 2/2] Fix Lwip client bug. --- .../resources/ethernet/LwIP/arch/sys_arch.h | 2 +- .../resources/ethernet/LwIP/arch/udp_echo.c | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Ubiquitous/XiUOS/resources/ethernet/LwIP/arch/sys_arch.h b/Ubiquitous/XiUOS/resources/ethernet/LwIP/arch/sys_arch.h index acbf8b9ec..d9bf38b45 100644 --- a/Ubiquitous/XiUOS/resources/ethernet/LwIP/arch/sys_arch.h +++ b/Ubiquitous/XiUOS/resources/ethernet/LwIP/arch/sys_arch.h @@ -56,7 +56,7 @@ #include /* USER CODE BEGIN 0 */ -#define SET_AS_SERVER 1 /* define this terminal is udp server or not*/ +// #define SET_AS_SERVER 1 /* define this terminal is udp server or not*/ #define LOCAL_PORT_SERVER 5001 #define TARGET_PORT_CLIENT LOCAL_PORT_SERVER diff --git a/Ubiquitous/XiUOS/resources/ethernet/LwIP/arch/udp_echo.c b/Ubiquitous/XiUOS/resources/ethernet/LwIP/arch/udp_echo.c index 9eefd8492..0db732774 100644 --- a/Ubiquitous/XiUOS/resources/ethernet/LwIP/arch/udp_echo.c +++ b/Ubiquitous/XiUOS/resources/ethernet/LwIP/arch/udp_echo.c @@ -107,6 +107,7 @@ static void UdpEchoThreadServer(void *arg) while(1) { + memset(recv_data, 0, RECV_DATA); recv_data_len=recvfrom(sock,recv_data, RECV_DATA,0, (struct sockaddr*)&seraddr, @@ -131,7 +132,7 @@ __exit: static void UdpEchoThreadClient(void *arg) { KPrintf("UdpEchoThreadClient start.\n"); - MdelayKTask(5000); + int sock_udp_send_once = -1; sock_udp_send_once = socket(AF_INET, SOCK_DGRAM, 0); if (sock_udp_send_once < 0) @@ -155,17 +156,20 @@ static void UdpEchoThreadClient(void *arg) KPrintf("UDP connect sucess, start to send.\n"); KPrintf("\n\nTarget Port:%d\n\n", udp_sock.sin_port); - sendto(sock_udp_send_once,send_msg, - strlen(send_msg),0, - (struct sockaddr*)&udp_sock, - sizeof(struct sockaddr)); - KPrintf("Send UDP msg: %s ", send_msg); while (1) { KPrintf("Lwip client is running.\n"); - MdelayKTask(3000); + + sendto(sock_udp_send_once,send_msg, + strlen(send_msg),0, + (struct sockaddr*)&udp_sock, + sizeof(struct sockaddr)); + + KPrintf("Send UDP msg: %s ", send_msg); + + MdelayKTask(1000); } __exit: