diff --git a/libao/libao-async.rkt b/libao/libao-async.rkt index 0b73753..0d45261 100644 --- a/libao/libao-async.rkt +++ b/libao/libao-async.rkt @@ -196,10 +196,14 @@ (begin (displayln "Pausing ao play thread") (os-semaphore-wait (ao-shm-pause-sem shm)) - (set-ao-shm-paused! shm pause)) + (mutex-lock (ao-shm-mutex shm)) + (set-ao-shm-paused! shm pause) + (mutex-unlock (ao-shm-mutex.shm))) (begin (displayln "Continuing ao play thread") + (mutex-lock (ao-shm-mutex shm)) (set-ao-shm-paused! shm pause) + (mutex-unlock (ao-shm-mutex.shm)) (os-semaphore-post (ao-shm-pause-sem shm))) ) )