summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/mutex-posix.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-11-24 16:24:16 +0000
committerLennart Poettering <lennart@poettering.net>2007-11-24 16:24:16 +0000
commit031289006b1b80b5829d87956a7c3b9912b42529 (patch)
tree439f25038f9df3643d60437aeb0177b055c6a734 /src/pulsecore/mutex-posix.c
parent7a4242522eb56066e59ce5e40ee5ed6e8b82861e (diff)
add new pa_mutex_try_lock() API
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2080 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore/mutex-posix.c')
-rw-r--r--src/pulsecore/mutex-posix.c12
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);