#include <CoreFoundation/CoreFoundation.h>
#include <dispatch/dispatch.h>
#include <unistd.h>
#include <Block.h>
#include "test.h"
void EnqueueStuff(dispatch_queue_t q)
{
__block CFIndex counter;
dispatch_async(q, ^{
counter = 0;
});
dispatch_async(q, ^{
counter++;
dispatch_async(q, ^{
counter--;
if(counter == 0) {
succeed(__FILE__);
}
});
if(counter == 0) {
fail("already done? inconceivable!");
}
});
}
int main () {
dispatch_queue_t q = dispatch_queue_create("queue", NULL);
EnqueueStuff(q);
dispatch_main();
fail("unreachable");
}