У меня проблемы с помощью dispatch_semaphore_wait (..) когда семафор был создан со значением больше 0ИОС семафор ждать не ждать
sema = dispatch_semaphore_create(2);
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//signals here
});
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
dispatch_release(sema);
не должны ждать приходится ждать два сигнала? В приведенном выше коде он не ждет вообще, и поэтому вызывается релиз, а результат - сбой!