//-------------------------------------------------------------------------------------------------- static void InitSimRefresh ( void ) { // Create a semaphore to coordinate the test when SIM is refreshed SimRefreshSemaphore = le_sem_Create("SimRefreshSem", 0); le_sim_AddSimToolkitEventHandler(SimRefreshHandler, NULL); }
//-------------------------------------------------------------------------------------------------- static void AddStkHandler ( void* param1Ptr, void* param2Ptr ) { AppContext_t * appCtxPtr = (AppContext_t*) param1Ptr; // internal semaphore: le_sim internal variable SimToolkitHandlerCount must be correctly updated // before calling le_sim_AddSimToolkitEventHandler again le_sem_Wait(StkHandlerSem); appCtxPtr->stkHandler = le_sim_AddSimToolkitEventHandler(StkHandler, appCtxPtr); LE_ASSERT(appCtxPtr->stkHandler != NULL); le_sem_Post(StkHandlerSem); // Semaphore is used to synchronize the task execution with the core test le_sem_Post(ThreadSemaphore); }