| OLD | NEW |
| 1 #ifndef ADBLOCKPLUS_THREAD_H | 1 #ifndef ADBLOCKPLUS_THREAD_H |
| 2 #define ADBLOCKPLUS_THREAD_H | 2 #define ADBLOCKPLUS_THREAD_H |
| 3 | 3 |
| 4 #ifdef WIN32 | 4 #ifdef WIN32 |
| 5 #include <windows.h> | 5 #include <windows.h> |
| 6 #else | 6 #else |
| 7 #include <pthread.h> | 7 #include <pthread.h> |
| 8 #endif | 8 #endif |
| 9 | 9 |
| 10 namespace AdblockPlus | 10 namespace AdblockPlus |
| 11 { | 11 { |
| 12 class Mutex |
| 13 { |
| 14 public: |
| 15 #ifdef WIN32 |
| 16 CRITICAL_SECTION nativeMutex; |
| 17 #else |
| 18 pthread_mutex_t nativeMutex; |
| 19 #endif |
| 20 |
| 21 Mutex(); |
| 22 ~Mutex(); |
| 23 void Lock(); |
| 24 void Unlock(); |
| 25 }; |
| 26 |
| 27 class ConditionVariable |
| 28 { |
| 29 public: |
| 30 ConditionVariable(); |
| 31 ~ConditionVariable(); |
| 32 void Wait(Mutex& mutex); |
| 33 void Signal(); |
| 34 |
| 35 private: |
| 36 #ifdef WIN32 |
| 37 CONDITION_VARIABLE nativeCondition; |
| 38 #else |
| 39 pthread_cond_t nativeCondition; |
| 40 #endif |
| 41 }; |
| 42 |
| 12 class Thread | 43 class Thread |
| 13 { | 44 { |
| 14 public: | 45 public: |
| 15 class Mutex | |
| 16 { | |
| 17 public: | |
| 18 #ifdef WIN32 | |
| 19 CRITICAL_SECTION nativeMutex; | |
| 20 #else | |
| 21 pthread_mutex_t nativeMutex; | |
| 22 #endif | |
| 23 | |
| 24 Mutex(); | |
| 25 ~Mutex(); | |
| 26 void Lock(); | |
| 27 void Unlock(); | |
| 28 }; | |
| 29 | |
| 30 class Condition | |
| 31 { | |
| 32 public: | |
| 33 Condition(); | |
| 34 ~Condition(); | |
| 35 void Wait(Mutex& mutex); | |
| 36 void Signal(); | |
| 37 | |
| 38 private: | |
| 39 #ifdef WIN32 | |
| 40 CONDITION_VARIABLE nativeCondition; | |
| 41 #else | |
| 42 pthread_cond_t nativeCondition; | |
| 43 #endif | |
| 44 }; | |
| 45 | |
| 46 virtual ~Thread(); | 46 virtual ~Thread(); |
| 47 virtual void Run() = 0; | 47 virtual void Run() = 0; |
| 48 void Start(); | 48 void Start(); |
| 49 void Join(); | 49 void Join(); |
| 50 | 50 |
| 51 private: | 51 private: |
| 52 #ifdef WIN32 | 52 #ifdef WIN32 |
| 53 HANDLE thread; | 53 HANDLE nativeThread; |
| 54 #else | 54 #else |
| 55 pthread_t thread; | 55 pthread_t nativeThread; |
| 56 #endif | 56 #endif |
| 57 }; | 57 }; |
| 58 } | 58 } |
| 59 | 59 |
| 60 #endif | 60 #endif |
| OLD | NEW |