ipc: fix esp_ipc_call_blocking to return after callback execution is completed

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
This commit is contained in:
Mahavir Jain
2018-09-06 11:22:41 +05:30
parent a0d2dd0385
commit 94c571c017
2 changed files with 27 additions and 5 deletions

View File

@@ -0,0 +1,23 @@
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "unity.h"
#include "esp_ipc.h"
static void test_func_ipc_cb(void *arg)
{
vTaskDelay(50);
int *val = (int *)arg;
*val = 0xa5a5;
}
TEST_CASE("Test blocking IPC function call", "[ipc]")
{
int val = 0x5a5a;
#ifdef CONFIG_FREERTOS_UNICORE
esp_ipc_call_blocking(xPortGetCoreID(), test_func_ipc_cb, &val);
#else
esp_ipc_call_blocking(!xPortGetCoreID(), test_func_ipc_cb, &val);
#endif
TEST_ASSERT_EQUAL_HEX(val, 0xa5a5);
}