mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 12:10:09 +02:00
Manually close descriptors instead of using vfork
With `vfork()` the child process inherits the parents process image and prevents copying them, but if it outlives its parent then the file descriptors will still remain open. Manually closing all file descriptors is the only solution here. This was only an issue with Ardour since they don't open all of their files with `FD_CLOEXEC`. Last update's watchdog timer somewhat mitigated the issue, but Ardour should now no longer freeze when reopening because of this. The watchdog timer is still necessary, since hanging Wine processes will still prevent the Wine server from shutting down.
This commit is contained in:
@@ -18,9 +18,6 @@
|
||||
|
||||
#include <thread>
|
||||
|
||||
// Boost.Process's auto detection for vfork() support doesn't seem to work
|
||||
#define BOOST_POSIX_HAS_VFORK 1
|
||||
|
||||
#include <boost/asio/local/stream_protocol.hpp>
|
||||
#include <boost/asio/streambuf.hpp>
|
||||
#include <boost/filesystem.hpp>
|
||||
|
||||
Reference in New Issue
Block a user