[beast: 9/11] BSE: always complete BSE initialization including Aida IDL and Sequencer
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast: 9/11] BSE: always complete BSE initialization including Aida IDL and Sequencer
- Date: Wed, 9 Sep 2015 08:14:29 +0000 (UTC)
commit 88102a85325815c641f7ca956dea673e5d02c91e
Author: Tim Janik <timj gnu org>
Date: Mon Sep 7 23:23:16 2015 +0200
BSE: always complete BSE initialization including Aida IDL and Sequencer
bse/bsemain.cc | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
---
diff --git a/bse/bsemain.cc b/bse/bsemain.cc
index 7d0cc61..842e104 100644
--- a/bse/bsemain.cc
+++ b/bse/bsemain.cc
@@ -175,6 +175,13 @@ bse_init_intern()
}
}
+ // allow aida IDL remoting
+ Bse::init_aida_idl();
+
+ // start other threads
+ struct Internal : Bse::Sequencer { using Bse::Sequencer::_init_threaded; };
+ Internal::_init_threaded();
+
// unit testing message
if (initialized_for_unit_testing > 0)
{
@@ -224,21 +231,19 @@ static void
bse_main_loop_thread (Rapicorn::AsyncBlockingQueue<int> *init_queue)
{
bse_init_intern ();
- // start other threads
- struct Internal : Bse::Sequencer { using Bse::Sequencer::_init_threaded; };
- Internal::_init_threaded();
- // allow aida IDL remoting
- Bse::init_aida_idl();
+
// complete initialization
bse_initialization_stage++; // = 2
init_queue->push ('B'); // signal completion to caller
init_queue = NULL; // completion invalidates init_queue
- // Bse Core Event Loop
+
+ // main BSE thread event loop
while (true) // FIXME: missing exit handler
{
g_main_context_pending (bse_main_context);
g_main_context_iteration (bse_main_context, TRUE);
}
+
Bse::TaskRegistry::remove (Rapicorn::ThisThread::thread_pid()); // see bse_init_intern
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]