1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-15 15:49:36 +02:00

adding volatile flags to certain OD bools that get changed by the UI. May fix reported stalled tasks which I can't reproduce.

This commit is contained in:
mchinen 2010-05-30 14:39:18 +00:00
parent 903dcf9427
commit 5c88a0d93a
2 changed files with 12 additions and 12 deletions

View File

@ -148,13 +148,13 @@ class ODManager
ODLock mTasksMutex; ODLock mTasksMutex;
//global pause switch for OD //global pause switch for OD
bool mPause; volatile bool mPause;
ODLock mPauseLock; ODLock mPauseLock;
int mNeedsDraw; volatile int mNeedsDraw;
///Number of threads currently running. Accessed thru multiple threads ///Number of threads currently running. Accessed thru multiple threads
int mCurrentThreads; volatile int mCurrentThreads;
//mutex for above variable //mutex for above variable
ODLock mCurrentThreadsMutex; ODLock mCurrentThreadsMutex;
@ -162,10 +162,10 @@ class ODManager
///Maximum number of threads allowed out. ///Maximum number of threads allowed out.
int mMaxThreads; int mMaxThreads;
bool mTerminate; volatile bool mTerminate;
ODLock mTerminateMutex; ODLock mTerminateMutex;
bool mTerminated; volatile bool mTerminated;
ODLock mTerminatedMutex; ODLock mTerminatedMutex;
//for the queue not empty comdition //for the queue not empty comdition

View File

@ -146,11 +146,11 @@ class ODTask
int mTaskNumber; int mTaskNumber;
float mPercentComplete; volatile float mPercentComplete;
ODLock mPercentCompleteMutex; ODLock mPercentCompleteMutex;
bool mDoingTask; volatile bool mDoingTask;
bool mTaskStarted; volatile bool mTaskStarted;
bool mTerminate; volatile bool mTerminate;
ODLock mTerminateMutex; ODLock mTerminateMutex;
//for a function not a member var. //for a function not a member var.
ODLock mBlockUntilTerminateMutex; ODLock mBlockUntilTerminateMutex;
@ -158,16 +158,16 @@ class ODTask
std::vector<WaveTrack*> mWaveTracks; std::vector<WaveTrack*> mWaveTracks;
ODLock mWaveTrackMutex; ODLock mWaveTrackMutex;
sampleCount mDemandSample; volatile sampleCount mDemandSample;
ODLock mDemandSampleMutex; ODLock mDemandSampleMutex;
bool mIsRunning; volatile bool mIsRunning;
ODLock mIsRunningMutex; ODLock mIsRunningMutex;
private: private:
bool mNeedsODUpdate; volatile bool mNeedsODUpdate;
ODLock mNeedsODUpdateMutex; ODLock mNeedsODUpdateMutex;