コード例 #1
0
ファイル: asyncq-test.c プロジェクト: felfert/pulseaudio
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;
}
コード例 #2
0
ファイル: asyncmsgq.c プロジェクト: ford-prefect/pulseaudio
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;
}