Events in FreeRTOS 7.1.1
You can use a semaphore to signal an event.  If the event is generic to taskCheck and there is no data associated with the event then you might do it something like this.

void task1(int change1)
{
 int value1 = change1;
 xSemaphoreGive(the_semaphore);
}

void task2(int change2)
{
 int value2 = change2;
 xSemaphoreGive(the_semaphore);
}

void task3(int change3)
{
 int value3 = change3;
 xSemaphoreGive(the_semaphore);
}

void taskCheck()
{
  xSemaphoreTake(the_semaphore, WAIT_FOREVER);
  doSomething();
}


If the_semaphore is a counting semaphore then multiple events could stack up while taskCheck handles them one at a time.

But if the events are specific or contain data then you probably want to use a queue instead of a semaphore.

Read about FreeRTOS queues and semaphores here.