Merge "Make mutex test variables volatile to prevent potential errors cused by optimi...
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Tue, 16 Jun 2015 12:07:33 +0000 (05:07 -0700)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Tue, 16 Jun 2015 12:07:33 +0000 (05:07 -0700)
automated-tests/src/dali-devel/utc-Dali-Mutex.cpp

index 2911d6c..60fdaaf 100644 (file)
@@ -50,10 +50,11 @@ int UtcDaliMutexSingleThread(void)
 
 namespace // for local variables to avoid name clashes
 {
-int gGlobalValue = 0;
-Mutex* gGlobalValueMutex;
-bool gWorkerThreadWait = true;
-enum ThreadState { INIT, RUN, LOCKING, TERMINATE } gWorkerThreadState = INIT;
+// make all these volatile to pre-empt any optimization screwing up the logic
+volatile int gGlobalValue = 0;
+volatile bool gWorkerThreadWait = true;
+volatile enum ThreadState { INIT, RUN, LOCKING, TERMINATE } gWorkerThreadState = INIT;
+Mutex* volatile gGlobalValueMutex; // volatile pointer to a mutex object
 }
 void* WorkerThread1( void* ptr )
 {