#include <unistd.h>
#include <pulse/util.h>
-#include <pulse/xmalloc.h>
#include <pulsecore/asyncq.h>
#include <pulsecore/thread.h>
#include <pulsecore/log.h>
-#include <pulsecore/core-util.h>
#include <pulsecore/macro.h>
static void producer(void *_q) {
int i;
for (i = 0; i < 1000; i++) {
- printf("pushing %i\n", i);
+ pa_log_debug("pushing %i", i);
pa_asyncq_push(q, PA_UINT_TO_PTR(i+1), 1);
}
pa_asyncq_push(q, PA_UINT_TO_PTR(-1), TRUE);
- printf("pushed end\n");
+ pa_log_debug("pushed end");
}
static void consumer(void *_q) {
void *p;
int i;
- sleep(1);
+ pa_msleep(1000);
for (i = 0;; i++) {
p = pa_asyncq_pop(q, TRUE);
pa_assert(p == PA_UINT_TO_PTR(i+1));
- printf("popped %i\n", i);
+ pa_log_debug("popped %i", i);
}
- printf("popped end\n");
+ pa_log_debug("popped end");
}
int main(int argc, char *argv[]) {
pa_asyncq *q;
pa_thread *t1, *t2;
+ if (!getenv("MAKE_CHECK"))
+ pa_log_set_level(PA_LOG_DEBUG);
+
pa_assert_se(q = pa_asyncq_new(0));
- pa_assert_se(t1 = pa_thread_new(producer, q));
- pa_assert_se(t2 = pa_thread_new(consumer, q));
+ 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);