mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-10 04:30:12 +02:00
Fix wine forward initialization order
`io_context.run()` returns if there is no more work to do, so it should be called only after we give it something to do.
This commit is contained in:
@@ -124,11 +124,11 @@ HostBridge::HostBridge(audioMasterCallback host_callback)
|
|||||||
std::pair<Logger&, bool>(logger, false));
|
std::pair<Logger&, bool>(logger, false));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
wine_io_handler = std::thread([&]() { io_context.run(); });
|
|
||||||
|
|
||||||
// Print the Wine host's STDOUT and STDERR streams to the log file
|
// Print the Wine host's STDOUT and STDERR streams to the log file
|
||||||
async_log_pipe_lines(wine_stdout, wine_stdout_buffer, "[Wine STDOUT] ");
|
async_log_pipe_lines(wine_stdout, wine_stdout_buffer, "[Wine STDOUT] ");
|
||||||
async_log_pipe_lines(wine_stderr, wine_stderr_buffer, "[Wine STDERR] ");
|
async_log_pipe_lines(wine_stderr, wine_stderr_buffer, "[Wine STDERR] ");
|
||||||
|
wine_io_handler = std::thread([&]() { io_context.run(); });
|
||||||
|
|
||||||
// Read the plugin's information from the Wine process. This can only be
|
// Read the plugin's information from the Wine process. This can only be
|
||||||
// done after we started accepting host callbacks as the plugin might do
|
// done after we started accepting host callbacks as the plugin might do
|
||||||
|
|||||||
@@ -131,11 +131,6 @@ class HostBridge {
|
|||||||
* The thread that handles host callbacks.
|
* The thread that handles host callbacks.
|
||||||
*/
|
*/
|
||||||
std::thread host_callback_handler;
|
std::thread host_callback_handler;
|
||||||
/**
|
|
||||||
* Runs the Boost.Asio `io_context` thread for logging the Wine process
|
|
||||||
* STDOUT and STDERR messages.
|
|
||||||
*/
|
|
||||||
std::thread wine_io_handler;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The callback function passed by the host to the VST plugin instance.
|
* The callback function passed by the host to the VST plugin instance.
|
||||||
@@ -153,6 +148,12 @@ class HostBridge {
|
|||||||
* The STDERR stream of the Wine process we can forward to the logger.
|
* The STDERR stream of the Wine process we can forward to the logger.
|
||||||
*/
|
*/
|
||||||
boost::process::async_pipe wine_stderr;
|
boost::process::async_pipe wine_stderr;
|
||||||
|
/**
|
||||||
|
* Runs the Boost.Asio `io_context` thread for logging the Wine process
|
||||||
|
* STDOUT and STDERR messages.
|
||||||
|
*/
|
||||||
|
std::thread wine_io_handler;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Wine process hosting the Windows VST plugin.
|
* The Wine process hosting the Windows VST plugin.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user