diff options
Diffstat (limited to 'src/pulsecore/mutex-posix.c')
-rw-r--r-- | src/pulsecore/mutex-posix.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pulsecore/mutex-posix.c b/src/pulsecore/mutex-posix.c index 1b13ede1..6ac98484 100644 --- a/src/pulsecore/mutex-posix.c +++ b/src/pulsecore/mutex-posix.c @@ -92,6 +92,18 @@ void pa_mutex_lock(pa_mutex *m) { pa_assert_se(pthread_mutex_lock(&m->mutex) == 0); } +pa_bool_t pa_mutex_try_lock(pa_mutex *m) { + int r; + pa_assert(m); + + if ((r = pthread_mutex_trylock(&m->mutex)) != 0) { + pa_assert(r == EBUSY); + return FALSE; + } + + return TRUE; +} + void pa_mutex_unlock(pa_mutex *m) { pa_assert(m); |