exp_expression_with_stack: added check for null pointer after obtaining a mutex in test

This commit is contained in:
Felipe Neves 2019-12-20 13:27:30 -03:00
parent f0e82311a5
commit d1b76d13bb
2 changed files with 3 additions and 1 deletions

View File

@ -29,7 +29,7 @@
*/
#define ESP_EXECUTE_EXPRESSION_WITH_STACK(lock, stack, stack_size, expression) \
({ \
if(lock && stack && stack_size) { \
if (lock && stack && stack_size) { \
uint32_t backup; \
xSemaphoreTake(lock, portMAX_DELAY); \
StackType_t *top_of_stack = esp_switch_stack_setup(stack, stack_size);\

View File

@ -22,6 +22,8 @@ TEST_CASE("test printf using shared buffer stack", "[newlib]")
TEST_ASSERT(shared_stack != NULL);
SemaphoreHandle_t printf_lock = xSemaphoreCreateMutex();
TEST_ASSERT_NOT_NULL(printf_lock);
ESP_EXECUTE_EXPRESSION_WITH_STACK(printf_lock, shared_stack,8192,printf("Executing this printf from external stack! \n"));
ESP_EXECUTE_EXPRESSION_WITH_STACK(printf_lock, shared_stack,8192,another_external_stack_function());
vSemaphoreDelete(printf_lock);