diff options
Diffstat (limited to 'lib/BlocksRuntime/tests/dispatch_async.c')
| -rw-r--r-- | lib/BlocksRuntime/tests/dispatch_async.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/lib/BlocksRuntime/tests/dispatch_async.c b/lib/BlocksRuntime/tests/dispatch_async.c deleted file mode 100644 index e3e517c54..000000000 --- a/lib/BlocksRuntime/tests/dispatch_async.c +++ /dev/null @@ -1,57 +0,0 @@ -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. - -#include <CoreFoundation/CoreFoundation.h> - -#include <dispatch/dispatch.h> -#include <unistd.h> -//#import <Foundation/Foundation.h> -#include <Block.h> - -// CONFIG rdar://problem/6371811 - -const char *whoami = "nobody"; - -void EnqueueStuff(dispatch_queue_t q) -{ - __block CFIndex counter; - - // above call has a side effect: it works around: - // <rdar://problem/6225809> __block variables not implicitly imported into intermediate scopes - dispatch_async(q, ^{ - counter = 0; - }); - - - dispatch_async(q, ^{ - //printf("outer block.\n"); - counter++; - dispatch_async(q, ^{ - //printf("inner block.\n"); - counter--; - if(counter == 0) { - printf("%s: success\n", whoami); - exit(0); - } - }); - if(counter == 0) { - printf("already done? inconceivable!\n"); - exit(1); - } - }); -} - -int main (int argc, const char * argv[]) { - dispatch_queue_t q = dispatch_queue_create("queue", NULL); - - whoami = argv[0]; - - EnqueueStuff(q); - - dispatch_main(); - printf("shouldn't get here\n"); - return 1; -} |
