mirror of
https://github.com/glest/glest-source.git
synced 2025-08-15 04:43:58 +02:00
- attempt to have more clean shutdown of threads on game exit
This commit is contained in:
@@ -91,10 +91,14 @@ public:
|
||||
|
||||
Mutex * getMutexThreadObjectAccessor() { return &mutexThreadObjectAccessor; }
|
||||
|
||||
template <typename T>
|
||||
T * getGenericData() { return genericData; }
|
||||
template <typename T>
|
||||
void setGenericData(T *value) { genericData = value; }
|
||||
template <typename T>
|
||||
T * getGenericData() {
|
||||
return genericData;
|
||||
}
|
||||
template <typename T>
|
||||
void setGenericData(T *value) {
|
||||
genericData = value;
|
||||
}
|
||||
|
||||
static bool isThreadDeleted(void *ptr);
|
||||
};
|
||||
|
@@ -58,21 +58,30 @@ public:
|
||||
|
||||
private:
|
||||
SDL_Thread* thread;
|
||||
|
||||
bool deleteAfterExecute;
|
||||
static Mutex mutexthreadList;
|
||||
static vector<Thread *> threadList;
|
||||
|
||||
protected:
|
||||
void addThreadToList();
|
||||
void removeThreadFromList();
|
||||
|
||||
public:
|
||||
Thread();
|
||||
virtual ~Thread();
|
||||
|
||||
static std::vector<Thread *> getThreadList();
|
||||
static void shutdownThreads();
|
||||
|
||||
void setDeleteAfterExecute(bool value) { deleteAfterExecute = value; }
|
||||
bool getDeleteAfterExecute() const { return deleteAfterExecute; }
|
||||
|
||||
void start();
|
||||
virtual void execute()=0;
|
||||
void setPriority(Thread::Priority threadPriority);
|
||||
void suspend();
|
||||
void resume();
|
||||
void kill();
|
||||
|
||||
private:
|
||||
static int beginExecution(void *param);
|
||||
|
Reference in New Issue
Block a user