From 70898a676b175db4e2f31d99ce5523930dcbf8f0 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 6 May 2024 23:20:05 +0200 Subject: [PATCH] Allow to run IOTasklist without rt permissions --- libs/ardour/io_tasklist.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libs/ardour/io_tasklist.cc b/libs/ardour/io_tasklist.cc index ae86e9a640..7974c8ce85 100644 --- a/libs/ardour/io_tasklist.cc +++ b/libs/ardour/io_tasklist.cc @@ -34,6 +34,8 @@ #include "ardour/process_thread.h" #include "ardour/session_event.h" +#include "pbd/i18n.h" + using namespace ARDOUR; IOTaskList::IOTaskList (uint32_t n_threads) @@ -67,7 +69,13 @@ IOTaskList::IOTaskList (uint32_t n_threads) _workers.resize (_n_threads); for (uint32_t i = 0; i < _n_threads; ++i) { if (pthread_create (&_workers[i], &attr, &_worker_thread, this)) { - throw failed_constructor (); + if (pthread_create (&_workers[i], NULL, &_worker_thread, this)) { + std::cerr << "Failed to start IOTaskList thread\n"; + throw failed_constructor (); + } + if (i == 0) { + PBD::warning << _("IOTaskList: cannot acquire realtime permissions.") << endmsg; + } } } pthread_attr_destroy (&attr);