summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-08-30 22:42:02 +0000
committerLennart Poettering <lennart@poettering.net>2007-08-30 22:42:02 +0000
commit687f1f15fc3fcd99ce79cc402c48ec6a469f0333 (patch)
tree5d9629ce27fc153d9455fdaf21edb2c6b9379643
parentc2e4328c53ee32f0a49c259371945c1b19539794 (diff)
add new function pa_memblock_ref_is_one()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1729 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r--src/pulsecore/memblock.c12
-rw-r--r--src/pulsecore/memblock.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/src/pulsecore/memblock.c b/src/pulsecore/memblock.c
index 914e429a..3e2b0064 100644
--- a/src/pulsecore/memblock.c
+++ b/src/pulsecore/memblock.c
@@ -385,6 +385,18 @@ int pa_memblock_is_read_only(pa_memblock *b) {
}
/* No lock necessary */
+int pa_memblock_ref_is_one(pa_memblock *b) {
+ int r;
+
+ pa_assert(b);
+
+ r = PA_REFCNT_VALUE(b);
+ pa_assert(r > 0);
+
+ return r == 1;
+}
+
+/* No lock necessary */
void* pa_memblock_acquire(pa_memblock *b) {
pa_assert(b);
pa_assert(PA_REFCNT_VALUE(b) > 0);
diff --git a/src/pulsecore/memblock.h b/src/pulsecore/memblock.h
index 6f8bbef3..7fa6627e 100644
--- a/src/pulsecore/memblock.h
+++ b/src/pulsecore/memblock.h
@@ -107,6 +107,7 @@ manually if called from more than one thread at the same time. */
void pa_memblock_unref_fixed(pa_memblock*b);
int pa_memblock_is_read_only(pa_memblock *b);
+int pa_memblock_ref_is_one(pa_memblock *b);
void* pa_memblock_acquire(pa_memblock *b);
void pa_memblock_release(pa_memblock *b);
size_t pa_memblock_get_length(pa_memblock *b);