mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-07 15:36:26 +00:00
Linux: use futex_waitv syscall for atomic waiting
In order to make this possible, some unnecessary features were removed.
This commit is contained in:
parent
831a9fe012
commit
d34287b2cc
51 changed files with 441 additions and 574 deletions
|
|
@ -259,8 +259,8 @@ namespace utils
|
|||
|
||||
void audio_decoder::clear()
|
||||
{
|
||||
track_fully_decoded = false;
|
||||
track_fully_consumed = false;
|
||||
track_fully_decoded = 0;
|
||||
track_fully_consumed = 0;
|
||||
has_error = false;
|
||||
m_size = 0;
|
||||
duration_ms = 0;
|
||||
|
|
@ -274,7 +274,7 @@ namespace utils
|
|||
{
|
||||
auto& thread = *m_thread;
|
||||
thread = thread_state::aborting;
|
||||
track_fully_consumed = true;
|
||||
track_fully_consumed = 1;
|
||||
track_fully_consumed.notify_one();
|
||||
thread();
|
||||
m_thread.reset();
|
||||
|
|
@ -511,7 +511,7 @@ namespace utils
|
|||
media_log.notice("audio_decoder: about to decode: %s (index=%d)", ::at32(m_context.playlist, m_context.current_track), m_context.current_track);
|
||||
|
||||
decode_track(::at32(m_context.playlist, m_context.current_track));
|
||||
track_fully_decoded = true;
|
||||
track_fully_decoded = 1;
|
||||
|
||||
if (has_error)
|
||||
{
|
||||
|
|
@ -521,7 +521,7 @@ namespace utils
|
|||
|
||||
// Let's only decode one track at a time. Wait for the consumer to finish reading the track.
|
||||
media_log.notice("audio_decoder: waiting until track is consumed...");
|
||||
thread_ctrl::wait_on(track_fully_consumed, false);
|
||||
thread_ctrl::wait_on(track_fully_consumed, 0);
|
||||
track_fully_consumed = false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue