// Mutual exclusive for shared data
pthread_mutex_lock(&lock);
- if (thread_finish) break;
+ if (thread_finish)
+ {
+ thread_finish = EINA_FALSE;
+ pthread_mutex_unlock(&lock); //unlock before break
+ break;
+ }
pthread_mutex_unlock(&lock);
}