updated copyright messages for 2013
[deb_libcec.git] / src / lib / platform / threads / threads.h
index 0cc07eee883f6646e98bd65b6cfb601f5d8c1c96..dc304f056e9b7472fbaac95874dd17ea4ee9f042 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * This file is part of the libCEC(R) library.
  *
- * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited.  All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited.  All rights reserved.
  * libCEC(R) is an original work, containing original code.
  *
  * libCEC(R) is a trademark of Pulse-Eight Limited.
@@ -41,14 +41,15 @@ namespace PLATFORM
     CThread(void) :
         m_bStop(false),
         m_bRunning(false),
-        m_bStopped(false) {}
+        m_bStopped(false),
+        m_thread(INVALID_THREAD_VALUE) {}
 
     virtual ~CThread(void)
     {
       StopThread(0);
-      void *retVal;
-      ThreadsWait(m_thread, &retVal);
-      (void *)retVal; //"unreferenced local variable" warning
+      void *retVal = NULL;
+      if (m_thread != INVALID_THREAD_VALUE)
+        if (ThreadsWait(m_thread, &retVal)){}; // silence unused warning
     }
 
     static void *ThreadHandler(CThread *thread)
@@ -143,13 +144,13 @@ namespace PLATFORM
 
   protected:
     void SetRunning(bool bSetTo);
+    CMutex           m_threadMutex;
 
   private:
     bool             m_bStop;
     bool             m_bRunning;
     bool             m_bStopped;
     CCondition<bool> m_threadCondition;
-    CMutex           m_threadMutex;
     thread_t         m_thread;
   };
 };