diff gui/src/backend/OctaveLink.cpp @ 13677:f27573828e92

Properly implemented shutdown of callback thread.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Sun, 25 Sep 2011 18:29:24 +0200
parents c0e66d6e3dc8
children ee7f4294d162
line wrap: on
line diff
--- a/gui/src/backend/OctaveLink.cpp	Sun Sep 25 11:48:47 2011 +0200
+++ b/gui/src/backend/OctaveLink.cpp	Sun Sep 25 18:29:24 2011 +0200
@@ -91,17 +91,21 @@
 void
 OctaveLink::launchOctave ()
 {
+  // Create both threads.
   m_octaveMainThread = new OctaveMainThread (this);
-  m_octaveMainThread->start ();
+  m_octaveCallbackThread = new OctaveCallbackThread (this);
 
-  m_octaveCallbackThread = new OctaveCallbackThread (this);
+  // Launch the second as soon as the first ist ready.
   connect (m_octaveMainThread, SIGNAL(ready()), m_octaveCallbackThread, SLOT(start()));
+
+  // Start the first one.
+  m_octaveMainThread->start ();
 }
 
 void
 OctaveLink::terminateOctave ()
 {
-  m_octaveCallbackThread->terminate ();
+  m_octaveCallbackThread->halt();
   m_octaveCallbackThread->wait ();
 
   m_octaveMainThread->terminate ();