comparison 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
comparison
equal deleted inserted replaced
13676:6cf48511e735 13677:f27573828e92
89 } 89 }
90 90
91 void 91 void
92 OctaveLink::launchOctave () 92 OctaveLink::launchOctave ()
93 { 93 {
94 // Create both threads.
94 m_octaveMainThread = new OctaveMainThread (this); 95 m_octaveMainThread = new OctaveMainThread (this);
96 m_octaveCallbackThread = new OctaveCallbackThread (this);
97
98 // Launch the second as soon as the first ist ready.
99 connect (m_octaveMainThread, SIGNAL(ready()), m_octaveCallbackThread, SLOT(start()));
100
101 // Start the first one.
95 m_octaveMainThread->start (); 102 m_octaveMainThread->start ();
96
97 m_octaveCallbackThread = new OctaveCallbackThread (this);
98 connect (m_octaveMainThread, SIGNAL(ready()), m_octaveCallbackThread, SLOT(start()));
99 } 103 }
100 104
101 void 105 void
102 OctaveLink::terminateOctave () 106 OctaveLink::terminateOctave ()
103 { 107 {
104 m_octaveCallbackThread->terminate (); 108 m_octaveCallbackThread->halt();
105 m_octaveCallbackThread->wait (); 109 m_octaveCallbackThread->wait ();
106 110
107 m_octaveMainThread->terminate (); 111 m_octaveMainThread->terminate ();
108 //m_octaveMainThread->wait(); 112 //m_octaveMainThread->wait();
109 } 113 }