Relay Wine STDIO with SCHED_OTHER

I haven't seen this cause issues myself, but it would not surprise me if
a plugin that produces a constant stream of FIXMEs would steal resources
from audio processing if the threads that are relaying those messages
are set to SCHED_FIFO.
This commit is contained in:
Robbert van der Helm
2021-01-24 17:02:56 +01:00
parent 19fd99b58e
commit ffe46e225c
3 changed files with 16 additions and 1 deletions
+7 -1
View File
@@ -104,7 +104,13 @@ GroupBridge::GroupBridge(boost::filesystem::path group_socket_path)
async_log_pipe_lines(stdout_redirect.pipe, stdout_buffer, "[STDOUT] ");
async_log_pipe_lines(stderr_redirect.pipe, stderr_buffer, "[STDERR] ");
stdio_handler = Win32Thread([&]() { stdio_context.run(); });
stdio_handler = Win32Thread([&]() {
// In case a plugin generates a lot of FIXMEs relaying this IO with
// realtime scheduling could in theory cause latency issues
set_realtime_priority(false);
stdio_context.run();
});
}
GroupBridge::~GroupBridge() {