/[svn]/linuxsampler/trunk/src/engines/InstrumentManagerThread.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/InstrumentManagerThread.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2184 by persson, Sun May 3 12:15:40 2009 UTC revision 2185 by persson, Sun Jun 19 09:09:38 2011 UTC
# Line 99  namespace LinuxSampler { Line 99  namespace LinuxSampler {
99      int InstrumentManagerThread::Main() {      int InstrumentManagerThread::Main() {
100          while (true) {          while (true) {
101    
102                          #if CONFIG_PTHREAD_TESTCANCEL              #if CONFIG_PTHREAD_TESTCANCEL
103                          TestCancel();              TestCancel();
104                          #endif              #endif
105    
106              while (!queue.empty()) {              while (!queue.empty()) {
107                  command_t cmd;                  command_t cmd;
# Line 167  namespace LinuxSampler { Line 167  namespace LinuxSampler {
167          }          }
168          pThread->mutex.Unlock();          pThread->mutex.Unlock();
169      }      }
170    
171        int InstrumentManagerThread::StopThread() {
172            // This is a fix for Mac OS X, where SignalStopThread doesn't
173            // wake up a thread waiting for a condition variable.
174            SignalStopThread(); // send stop signal, but don't wait
175            conditionJobsLeft.Set(true); // wake thread
176            return Thread::StopThread(); // then wait for it to cancel
177        }
178    
179  } // namespace LinuxSampler  } // namespace LinuxSampler

Legend:
Removed from v.2184  
changed lines
  Added in v.2185

  ViewVC Help
Powered by ViewVC