]> git.saurik.com Git - apple/libdispatch.git/blob - testing/dispatch_apply.c
libdispatch-84.5.5.tar.gz
[apple/libdispatch.git] / testing / dispatch_apply.c
1 #include <dispatch/dispatch.h>
2 #include <stdio.h>
3 #include <unistd.h>
4 #include <stdlib.h>
5 #include <assert.h>
6 #include <libkern/OSAtomic.h>
7
8 #include "dispatch_test.h"
9
10 int
11 main(void)
12 {
13 test_start("Dispatch Apply");
14
15 volatile __block int32_t count = 0;
16 const int32_t final = 32;
17
18 dispatch_queue_t queue = dispatch_get_concurrent_queue(0);
19 test_ptr_notnull("dispatch_get_concurrent_queue", queue);
20
21 dispatch_apply(final, queue, ^(size_t i __attribute__((unused))) {
22 OSAtomicIncrement32(&count);
23 });
24
25 test_long("count", count, final);
26 test_stop();
27
28 return 0;
29 }