- dispatch_sync(mWorkQueue, dispatch_block_create_with_qos_class (DISPATCH_BLOCK_ENFORCE_QOS_CLASS, qos_class, 0, ^{
- // copy the class result back to the caller
- cfDictionaryApplyBlock(mResult.get(), ^(const void *key, const void *value){
- CFDictionaryAddValue(result, key, value);
- });
- }));
+ dispatch_block_t wait_block = dispatch_block_create_with_qos_class
+ (DISPATCH_BLOCK_ENFORCE_QOS_CLASS,
+ qos_class, 0,
+ ^{
+ // copy the class result back to the caller
+ cfDictionaryApplyBlock(mResult.get(),
+ ^(const void *key, const void *value){
+ CFDictionaryAddValue(result, key, value);
+ });
+ });
+ assert(wait_block != NULL);
+ dispatch_sync(mWorkQueue, wait_block);
+ Block_release(wait_block);