Mercurial > hg > octave-lyh
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 } |