fix(USBIP): DAP_task is blocked indefinitely, revert deleted kDAPTaskHandle #1
This commit is contained in:
parent
35509e3164
commit
3a5968f0fa
|
@ -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
|
|
|
@ -46,6 +46,7 @@ typedef struct
|
||||||
|
|
||||||
|
|
||||||
int kRestartDAPHandle = NO_SIGNAL;
|
int kRestartDAPHandle = NO_SIGNAL;
|
||||||
|
TaskHandle_t kDAPTaskHandle = NULL;
|
||||||
|
|
||||||
|
|
||||||
static DapPacket_t DAPDataProcessed;
|
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
|
// 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
|
// 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);
|
xRingbufferSend(dap_dataIN_handle, data_in - sizeof(uint32_t), DAP_HANDLE_SIZE, portMAX_DELAY);
|
||||||
|
xTaskNotifyGive(kDAPTaskHandle);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
send_stage2_submit_data_fast(header, NULL, 0);
|
send_stage2_submit_data_fast(header, NULL, 0);
|
||||||
|
|
||||||
xRingbufferSend(dap_dataIN_handle, data_in, DAP_HANDLE_SIZE, portMAX_DELAY);
|
xRingbufferSend(dap_dataIN_handle, data_in, DAP_HANDLE_SIZE, portMAX_DELAY);
|
||||||
|
xTaskNotifyGive(kDAPTaskHandle);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -150,6 +153,7 @@ void DAP_Thread(void *argument)
|
||||||
dap_dataIN_handle = xRingbufferCreate(DAP_HANDLE_SIZE * DAP_BUFFER_NUM, RINGBUF_TYPE_BYTEBUF);
|
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);
|
dap_dataOUT_handle = xRingbufferCreate(DAP_HANDLE_SIZE * DAP_BUFFER_NUM, RINGBUF_TYPE_BYTEBUF);
|
||||||
data_response_mux = xSemaphoreCreateMutex();
|
data_response_mux = xSemaphoreCreateMutex();
|
||||||
|
kDAPTaskHandle = xTaskGetCurrentTaskHandle();
|
||||||
size_t packetSize;
|
size_t packetSize;
|
||||||
int resLength;
|
int resLength;
|
||||||
DapPacket_t *item;
|
DapPacket_t *item;
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include "lwip/err.h"
|
#include "lwip/err.h"
|
||||||
#include "lwip/sockets.h"
|
#include "lwip/sockets.h"
|
||||||
|
|
||||||
|
extern TaskHandle_t kDAPTaskHandle;
|
||||||
extern int kRestartDAPHandle;
|
extern int kRestartDAPHandle;
|
||||||
|
|
||||||
int kSock = -1;
|
int kSock = -1;
|
||||||
|
@ -141,6 +142,8 @@ cleanup:
|
||||||
el_process_buffer_free();
|
el_process_buffer_free();
|
||||||
|
|
||||||
kRestartDAPHandle = RESET_HANDLE;
|
kRestartDAPHandle = RESET_HANDLE;
|
||||||
|
if (kDAPTaskHandle)
|
||||||
|
xTaskNotifyGive(kDAPTaskHandle);
|
||||||
|
|
||||||
//shutdown(listen_sock, 0);
|
//shutdown(listen_sock, 0);
|
||||||
//close(listen_sock);
|
//close(listen_sock);
|
||||||
|
|
Loading…
Reference in New Issue