forked from espressif/esp-idf
esp_event: always alloc data when not posting from isr
This commit is contained in:
@@ -753,9 +753,6 @@ esp_err_t esp_event_post_to(esp_event_loop_handle_t event_loop, esp_event_base_t
|
|||||||
memset((void*)(&post), 0, sizeof(post));
|
memset((void*)(&post), 0, sizeof(post));
|
||||||
|
|
||||||
if (event_data != NULL && event_data_size != 0) {
|
if (event_data != NULL && event_data_size != 0) {
|
||||||
#if CONFIG_ESP_EVENT_POST_FROM_ISR
|
|
||||||
if(event_data_size > sizeof(post.data.val)) {
|
|
||||||
#endif
|
|
||||||
// Make persistent copy of event data on heap.
|
// Make persistent copy of event data on heap.
|
||||||
void* event_data_copy = calloc(1, event_data_size);
|
void* event_data_copy = calloc(1, event_data_size);
|
||||||
|
|
||||||
@@ -767,10 +764,6 @@ esp_err_t esp_event_post_to(esp_event_loop_handle_t event_loop, esp_event_base_t
|
|||||||
#if CONFIG_ESP_EVENT_POST_FROM_ISR
|
#if CONFIG_ESP_EVENT_POST_FROM_ISR
|
||||||
post.data.ptr = event_data_copy;
|
post.data.ptr = event_data_copy;
|
||||||
post.data_allocated = true;
|
post.data_allocated = true;
|
||||||
} else {
|
|
||||||
memcpy(&post.data.val, event_data, event_data_size);
|
|
||||||
post.data_allocated = false;
|
|
||||||
}
|
|
||||||
post.data_set = true;
|
post.data_set = true;
|
||||||
#else
|
#else
|
||||||
post.data = event_data_copy;
|
post.data = event_data_copy;
|
||||||
|
Reference in New Issue
Block a user