]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/flist.c
Fix up some double spaces
[pulseaudio] / src / pulsecore / flist.c
index 8e8c3cda47a651553d9cf1673192e3a8b958ada9..e342a5795b21a4cf9bf61589c51befb0c2b06ecb 100644 (file)
@@ -48,6 +48,7 @@ struct pa_flist_elem {
 typedef struct pa_flist_elem pa_flist_elem;
 
 struct pa_flist {
+    const char *name;
     unsigned size;
     /* Stack that contains pointers stored into free list */
     pa_atomic_ptr_t stored;
@@ -79,15 +80,17 @@ static void stack_push(pa_atomic_ptr_t *list, pa_flist_elem *new_elem) {
     } while (!pa_atomic_ptr_cmpxchg(list, next, new_elem));
 }
 
-pa_flist *pa_flist_new(unsigned size) {
+pa_flist *pa_flist_new_with_name(unsigned size, const char *name) {
     pa_flist *l;
     unsigned i;
+    pa_assert(name);
 
     if (!size)
         size = FLIST_SIZE;
 
     l = pa_xmalloc0(sizeof(pa_flist) + sizeof(pa_flist_elem) * size);
 
+    l->name = pa_xstrdup(name);
     l->size = size;
     pa_atomic_ptr_store(&l->stored, NULL);
     pa_atomic_ptr_store(&l->empty, NULL);
@@ -97,8 +100,13 @@ pa_flist *pa_flist_new(unsigned size) {
     return l;
 }
 
+pa_flist *pa_flist_new(unsigned size) {
+    return pa_flist_new_with_name(size, "unknown");
+}
+
 void pa_flist_free(pa_flist *l, pa_free_cb_t free_cb) {
     pa_assert(l);
+    pa_assert(l->name);
 
     if (free_cb) {
         pa_flist_elem *elem;
@@ -116,7 +124,8 @@ int pa_flist_push(pa_flist *l, void *p) {
 
     elem = stack_pop(&l->empty);
     if (elem == NULL) {
-        pa_log_warn("flist is full");
+        if (pa_log_ratelimit(PA_LOG_DEBUG))
+            pa_log_debug("%s flist is full (don't worry)", l->name);
         return -1;
     }
     pa_atomic_ptr_store(&elem->ptr, p);