Fix locking in waitForEvent() and sample playing

This commit is contained in:
Michal Moskal
2017-10-30 19:18:01 +00:00
parent e8e31e6aa7
commit a082807455
3 changed files with 6 additions and 0 deletions

View File

@ -119,6 +119,7 @@ void playSample(Buffer buf) {
pthread_detach(pid);
}
stopUser();
pthread_mutex_lock(&pumpMutex);
*lmsSoundMMap = 1; // BUSY
uint8_t cmd[] = {SOUND_CMD_PLAY, (uint8_t)((currVolume / 33) + 1)};
@ -130,6 +131,7 @@ void playSample(Buffer buf) {
pumpMusic();
pthread_cond_wait(&sampleDone, &pumpMutex);
pthread_mutex_unlock(&pumpMutex);
startUser();
}
/**