blob: 2e02f9ac89def172c1d39b4c74a056a77ac430bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#ifndef EFSW_THREADIMPLPOSIX_HPP
#define EFSW_THREADIMPLPOSIX_HPP
#include <efsw/base.hpp>
#if defined( EFSW_PLATFORM_POSIX )
#include <efsw/Atomic.hpp>
#include <pthread.h>
namespace efsw {
class Thread;
namespace Platform {
class ThreadImpl {
public:
explicit ThreadImpl( efsw::Thread* owner );
~ThreadImpl();
void wait();
void terminate();
protected:
static void* entryPoint( void* userData );
pthread_t mThread;
Atomic<bool> mIsActive;
};
} // namespace Platform
} // namespace efsw
#endif
#endif
|