qtd3dservice: Restructure handling for service mode
authorAndrew Knight <andrew.knight@digia.com>
Mon, 3 Mar 2014 08:40:58 +0000 (10:40 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 4 Mar 2014 12:55:58 +0000 (13:55 +0100)
commitd8735159f257b6990fa3010c1a4794135bb85537
tree6406e703dfb12c9523493366afb350f065912df5
parent6953c86badaf575e27647c1127e999450f510f58
qtd3dservice: Restructure handling for service mode

This moves qtd3dservice from a shared process to its own process. This
is required to fix problems with accessing the emulators from multiple
threads and to run qtd3dservice as the logged-on user.

- The service process which provides a thread for each worker, and can
  add and remove workers as needed.
- The same threading model is used in service and direct modes to
  reduce complexity and behavioral differences between modes.
- Device handlers can be quit from the main thread by setting their
  run lock event.

Change-Id: I8734348011a87f0f69549a11a45d70fe3a2df69d
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
src/qtd3dservice/appxhandler.cpp
src/qtd3dservice/d3dservice.cpp
src/qtd3dservice/xaphandler.cpp