New functions

sys_spu_thread_bind_queue, sys_spu_thread_connect_event and SPU-side
sys_spu_thread_receive_event, sys_spu_thread_send_event
Fixed event system
Fixed SleepQueue priority alg
Audio: cellAudioGetPortTimestamp and cellAudioGetPortBlockTag
This commit is contained in:
Nekotekina 2014-02-22 04:26:50 +04:00
parent 81147506f0
commit b56df0c7f6
10 changed files with 477 additions and 197 deletions

View file

@ -95,3 +95,22 @@ void SPUThread::DoStop()
delete m_dec;
m_dec = nullptr;
}
void SPUThread::DoClose()
{
// disconnect all event ports
if (Emu.IsStopped())
{
return;
}
for (u32 i = 0; i < 64; i++)
{
EventPort& port = SPUPs[i];
SMutexLocker lock(port.mutex);
if (port.eq)
{
port.eq->ports.remove(&port);
port.eq = nullptr;
}
}
}