OLD | NEW |
1 // Copyright 2009 The RE2 Authors. All Rights Reserved. | 1 // Copyright 2009 The RE2 Authors. All Rights Reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef RE2_UTIL_THREAD_H__ | 5 #ifndef RE2_UTIL_THREAD_H__ |
6 #define RE2_UTIL_THREAD_H__ | 6 #define RE2_UTIL_THREAD_H__ |
7 | 7 |
| 8 #ifdef _WIN32 |
| 9 #include <windows.h> |
| 10 #else |
8 #include <pthread.h> | 11 #include <pthread.h> |
| 12 #endif |
9 | 13 |
10 class Thread { | 14 class Thread { |
11 public: | 15 public: |
12 Thread(); | 16 Thread(); |
13 virtual ~Thread(); | 17 virtual ~Thread(); |
14 void Start(); | 18 void Start(); |
15 void Join(); | 19 void Join(); |
16 void SetJoinable(bool); | 20 void SetJoinable(bool); |
17 virtual void Run() = 0; | 21 virtual void Run() = 0; |
18 | 22 |
19 private: | 23 private: |
| 24 #ifdef _WIN32 |
| 25 HANDLE pid_; |
| 26 #else |
20 pthread_t pid_; | 27 pthread_t pid_; |
| 28 #endif |
21 bool running_; | 29 bool running_; |
22 bool joinable_; | 30 bool joinable_; |
23 }; | 31 }; |
24 | 32 |
25 #endif // RE2_UTIL_THREAD_H__ | 33 #endif // RE2_UTIL_THREAD_H__ |
26 | |
OLD | NEW |