I have two threads. First one is something like this:
while(1)
{
pthread_mutex_lock(&mutex);
//DO WORK
pthread_mutex_unlock(&mutex);
pthread_yield();
}
The second one locks the mutex on user event, change some settings and unlocks. Thread one does ~ 200 iterations a second. However on occasion it takes the second thread up to 3 seconds to get active (to lock the mutex). How do I ensure faster response?
EDIT- second thread:
while(1)
{
waitForUserInput(); // blocking call to linux input
pthread_mutex_lock(&mutex);
// Change some settings which are used by the first thread
pthread_mutex_unlock(&mutex);
}
EDIT2 - Fixed the question ("to unlock the mutex" -> "to lock the mutex").