int main(int argc, char *argv[]) { pa_asyncq *q; pa_thread *t1, *t2; pa_assert_se(q = pa_asyncq_new(0)); pa_assert_se(t1 = pa_thread_new("producer", producer, q)); pa_assert_se(t2 = pa_thread_new("consumer", consumer, q)); pa_thread_free(t1); pa_thread_free(t2); pa_asyncq_free(q, NULL); return 0; }
pa_asyncmsgq *pa_asyncmsgq_new(unsigned size) { pa_asyncq *asyncq; pa_asyncmsgq *a; asyncq = pa_asyncq_new(size); if (!asyncq) return NULL; a = pa_xnew(pa_asyncmsgq, 1); PA_REFCNT_INIT(a); a->asyncq = asyncq; pa_assert_se(a->mutex = pa_mutex_new(false, true)); a->current = NULL; return a; }