mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-10 07:55:15 +00:00
Misc: life_mngr: a new common function to handle socket
Add a new common function to handle socket request, this will make it is easy to add more socket request in windows lifecycle manager. Tracked-On: #7215 Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com> Signed-off-by: Fei Li <fei1.li@intel.com>
This commit is contained in:
parent
b555bdc8ae
commit
6ea861affc
@ -58,6 +58,18 @@ void stop_uart_resend(void)
|
|||||||
memset(resend_buf, 0x0, BUFF_SIZE);
|
memset(resend_buf, 0x0, BUFF_SIZE);
|
||||||
resend_time = 0U;
|
resend_time = 0U;
|
||||||
}
|
}
|
||||||
|
void handle_socket_request(SOCKET sClient, char *req_message)
|
||||||
|
{
|
||||||
|
char ack_message[BUFF_SIZE];
|
||||||
|
|
||||||
|
snprintf(ack_message, sizeof(ack_message), "ack_%s", req_message);
|
||||||
|
Sleep(6U * MS_TO_SECOND);
|
||||||
|
send(sClient, ack_message, sizeof(ack_message), 0);
|
||||||
|
start_uart_resend(req_message, MIN_RESEND_TIME);
|
||||||
|
send_message_by_uart(hCom2, req_message, sizeof(req_message));
|
||||||
|
Sleep(2U * READ_INTERVAL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
DWORD WINAPI open_socket_server(LPVOID lpParam)
|
DWORD WINAPI open_socket_server(LPVOID lpParam)
|
||||||
{
|
{
|
||||||
WORD sockVersion = MAKEWORD(2, 2);
|
WORD sockVersion = MAKEWORD(2, 2);
|
||||||
@ -67,7 +79,6 @@ DWORD WINAPI open_socket_server(LPVOID lpParam)
|
|||||||
SOCKET sClient;
|
SOCKET sClient;
|
||||||
struct sockaddr_in remoteAddr;
|
struct sockaddr_in remoteAddr;
|
||||||
int nAddrlen = sizeof(remoteAddr);
|
int nAddrlen = sizeof(remoteAddr);
|
||||||
char *sendData = ACK_REQ_SYS_SHUTDOWN;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = WSAStartup(sockVersion, &wsaData);
|
ret = WSAStartup(sockVersion, &wsaData);
|
||||||
@ -107,12 +118,11 @@ DWORD WINAPI open_socket_server(LPVOID lpParam)
|
|||||||
printf(revData);
|
printf(revData);
|
||||||
}
|
}
|
||||||
Sleep(READ_INTERVAL);
|
Sleep(READ_INTERVAL);
|
||||||
} while (strncmp(revData, REQ_SYS_SHUTDOWN, sizeof(REQ_SYS_SHUTDOWN)) != 0);
|
if (strncmp(revData, REQ_SYS_SHUTDOWN, sizeof(REQ_SYS_SHUTDOWN)) == 0) {
|
||||||
Sleep(6U * MS_TO_SECOND);
|
handle_socket_request(sClient, REQ_SYS_SHUTDOWN);
|
||||||
send(sClient, sendData, strlen(sendData), 0);
|
break;
|
||||||
start_uart_resend(REQ_SYS_SHUTDOWN, MIN_RESEND_TIME);
|
}
|
||||||
send_message_by_uart(hCom2, REQ_SYS_SHUTDOWN, sizeof(REQ_SYS_SHUTDOWN));
|
} while (1);
|
||||||
Sleep(2 * READ_INTERVAL);
|
|
||||||
closesocket(sClient);
|
closesocket(sClient);
|
||||||
sock_exit:
|
sock_exit:
|
||||||
closesocket(slisten);
|
closesocket(slisten);
|
||||||
|
Loading…
Reference in New Issue
Block a user