I sometimes experience deadlocks when calling AudioQueueStop(queue, true).
This is not always reproducible.
Here are some interesting stacks below.
Mac OS X 10.6.4.
#0 0x00007fff8547f2fa in mach_msg_trap ()
#1 0x00007fff8547f96d in mach_msg ()
#2 0x00007fff88d3548d in AQCallbackSender_OutputCallback ()
#3 0x00007fff88cf7122 in AudioQueueObject::DoBufferCallback ()
#4 0x00007fff88d0187f in AudioQueueObject::WorkQueue::clear ()
#5 0x00007fff88cfbf66 in AudioQueueObject::Reset ()
#6 0x00007fff88cfc1b3 in AudioQueueObject::Stop ()
#7 0x00007fff88d148a8 in AQServer_Stop ()
#8 0x00007fff88d1794f in AudioQueueStop () <-- block here
#9 my code here
#0 0x00007fff854b9eb6 in __semwait_signal ()
#1 0x00007fff854bdcd1 in _pthread_cond_wait ()
#2 0x00007fff88ce4381 in CAGuard::Wait ()
#3 0x00007fff88cfb880 in AQConverterManager::AQConverterThread::Run ()
#4 0x00007fff88cfb8c7 in AQConverterManager::AQConverterThread::ConverterThreadEntry ()
#5 0x00007fff88ce47a3 in CAPThread::Entry ()
#6 0x00007fff854b8456 in _pthread_start ()
#7 0x00007fff854b8309 in thread_start ()
#0 0x00007fff8547f35a in semaphore_timedwait_signal_trap ()
#1 0x00007fff854bdbc2 in _pthread_cond_wait ()
#2 0x00007fff822b7a2c in CAGuard::WaitFor ()
#3 0x00007fff822b9fbb in CAGuard::WaitUntil ()
#4 0x00007fff822b8125 in HP_IOThread::WorkLoop ()
#5 0x00007fff822b7bc7 in HP_IOThread::ThreadEntry ()
#6 0x00007fff822b7af5 in CAPThread::Entry ()
#7 0x00007fff854b8456 in _pthread_start ()
#8 0x00007fff854b8309 in thread_start ()