This adds two missing features to our QEMU threading and locking
abstractions, qemu_thread_join and qemu_cond_timedwait, and then
converts compat AIO, compatfd, and several audio subsystems. This not
only saves a few lines of code, it also allows to apply certain thread
and lock parameters centrally which is specifically important when
using SCHED_FIFO.

Note that patch 6 is untested. Am I right that the other threads
coreaudioVoiceOut::mutex addresses are created by the coreaudio core?
Just curious.

Furthermore note that the changes to posix-aio-compat.c depend on
patches in Kevin's latest pull request.

CC: Andreas Färber <andreas.faer...@web.de>
CC: Kevin Wolf <kw...@redhat.com>
CC: malc <av1...@comtv.ru>

Jan Kiszka (6):
  Enable joinable POSIX threads
  Introduce qemu_cond_timedwait
  Switch POSIX compat AIO to QEMU abstractions
  Switch compatfd to QEMU thread
  audio: Use QEMU threads & synchronization
  audio: Switch coreaudio to QemuMutex

 audio/audio_pt_int.c    |  167 ++---------------------------------------------
 audio/audio_pt_int.h    |   45 +++++++++----
 audio/coreaudio.c       |   56 ++--------------
 audio/esdaudio.c        |   92 +++++++-------------------
 audio/paaudio.c         |   84 +++++++----------------
 compatfd.c              |   16 +----
 cpus.c                  |    6 +-
 hw/ccid-card-emulated.c |    5 +-
 posix-aio-compat.c      |  115 +++++++++-----------------------
 qemu-thread-posix.c     |   53 ++++++++++++++-
 qemu-thread-posix.h     |    3 +
 qemu-thread-win32.c     |   20 +++++-
 qemu-thread.h           |    9 ++-
 ui/vnc-jobs-async.c     |    2 +-
 14 files changed, 219 insertions(+), 454 deletions(-)

-- 
1.7.3.4


Reply via email to