X-Git-Url: https://code.delx.au/pulseaudio/blobdiff_plain/f64d6af0b70a85e2a825023956c893cc886b0042..33a88fbfdee773b1473cb5339540d79809363bdc:/src/pulsecore/flist.h diff --git a/src/pulsecore/flist.h b/src/pulsecore/flist.h index 512dd357..915b1135 100644 --- a/src/pulsecore/flist.h +++ b/src/pulsecore/flist.h @@ -8,7 +8,7 @@ PulseAudio is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2 of the + published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. PulseAudio is distributed in the hope that it will be useful, but @@ -32,8 +32,10 @@ typedef struct pa_flist pa_flist; -/* Size is required to be a power of two, or 0 for the default size */ pa_flist * pa_flist_new(unsigned size); +/* Name string is copied and added to flist structure. The original is + * responsibility of the caller. The name is only used for debug printing. */ +pa_flist * pa_flist_new_with_name(unsigned size, const char *name); void pa_flist_free(pa_flist *l, pa_free_cb_t free_cb); /* Please note that this routine might fail! */ @@ -45,11 +47,12 @@ void* pa_flist_pop(pa_flist*l); #define PA_STATIC_FLIST_DECLARE(name, size, free_cb) \ static struct { \ - pa_flist *flist; \ + pa_flist *volatile flist; \ pa_once once; \ } name##_flist = { NULL, PA_ONCE_INIT }; \ static void name##_flist_init(void) { \ - name##_flist.flist = pa_flist_new(size); \ + name##_flist.flist = \ + pa_flist_new_with_name(size, __FILE__ ": " #name); \ } \ static inline pa_flist* name##_flist_get(void) { \ pa_run_once(&name##_flist.once, name##_flist_init); \