0
0
Fork 0

fix(USBIP): DAP_task is blocked indefinitely, revert deleted kDAPTaskHandle #1

This commit is contained in:
kerms 2024-05-05 11:11:13 +08:00
parent 35509e3164
commit 3a5968f0fa
3 changed files with 7 additions and 6 deletions

6
.gitmodules vendored
View File

@ -1,6 +0,0 @@
[submodule "ESP8266_RTOS_SDK"]
path = ESP8266_RTOS_SDK
url = https://github.com/windowsair/ESP8266_RTOS_SDK.git
[submodule "components/corsacOTA"]
path = components/corsacOTA
url = https://github.com/windowsair/corsacOTA.git

View File

@ -46,6 +46,7 @@ typedef struct
int kRestartDAPHandle = NO_SIGNAL;
TaskHandle_t kDAPTaskHandle = NULL;
static DapPacket_t DAPDataProcessed;
@ -103,11 +104,13 @@ void handle_dap_data_request(usbip_stage2_header *header, uint32_t length)
// always send constant size buf -> cuz we don't care about the IN packet size
// and to unify the style, we set aside the length of the section
xRingbufferSend(dap_dataIN_handle, data_in - sizeof(uint32_t), DAP_HANDLE_SIZE, portMAX_DELAY);
xTaskNotifyGive(kDAPTaskHandle);
#else
send_stage2_submit_data_fast(header, NULL, 0);
xRingbufferSend(dap_dataIN_handle, data_in, DAP_HANDLE_SIZE, portMAX_DELAY);
xTaskNotifyGive(kDAPTaskHandle);
#endif
@ -150,6 +153,7 @@ void DAP_Thread(void *argument)
dap_dataIN_handle = xRingbufferCreate(DAP_HANDLE_SIZE * DAP_BUFFER_NUM, RINGBUF_TYPE_BYTEBUF);
dap_dataOUT_handle = xRingbufferCreate(DAP_HANDLE_SIZE * DAP_BUFFER_NUM, RINGBUF_TYPE_BYTEBUF);
data_response_mux = xSemaphoreCreateMutex();
kDAPTaskHandle = xTaskGetCurrentTaskHandle();
size_t packetSize;
int resLength;
DapPacket_t *item;

View File

@ -21,6 +21,7 @@
#include "lwip/err.h"
#include "lwip/sockets.h"
extern TaskHandle_t kDAPTaskHandle;
extern int kRestartDAPHandle;
int kSock = -1;
@ -141,6 +142,8 @@ cleanup:
el_process_buffer_free();
kRestartDAPHandle = RESET_HANDLE;
if (kDAPTaskHandle)
xTaskNotifyGive(kDAPTaskHandle);
//shutdown(listen_sock, 0);
//close(listen_sock);