forked from mirror/OpenTTD
(svn r13417) -Fix (r12945, r13413): freeing the ThreadObjects in a manner that hopefully doesn't cause crashes.
This commit is contained in:
10
src/thread.h
10
src/thread.h
@@ -6,7 +6,6 @@
|
||||
#define THREAD_H
|
||||
|
||||
typedef void (*OTTDThreadFunc)(void *);
|
||||
typedef void (*OTTDThreadTerminateFunc)(class ThreadObject *self);
|
||||
|
||||
/**
|
||||
* A Thread Object which works on all our supported OSes.
|
||||
@@ -57,10 +56,9 @@ public:
|
||||
* with optinal params.
|
||||
* @param proc The procedure to call inside the thread.
|
||||
* @param param The params to give with 'proc'.
|
||||
* @param terminate_func The function (or NULL) to call when the thread terminates.
|
||||
* @return True if the thread was started correctly.
|
||||
*/
|
||||
static ThreadObject *New(OTTDThreadFunc proc, void *param, OTTDThreadTerminateFunc terminate_func);
|
||||
static ThreadObject *New(OTTDThreadFunc proc, void *param);
|
||||
|
||||
/**
|
||||
* Convert the current thread to a new ThreadObject.
|
||||
@@ -73,12 +71,6 @@ public:
|
||||
* @return The thread ID of the current active thread.
|
||||
*/
|
||||
static uint CurrentId();
|
||||
|
||||
/**
|
||||
* A OTTDThreadTerminateFunc, which cleans up the thread itself
|
||||
* at termination of the thread (so it becomes self-managed).
|
||||
*/
|
||||
static void TerminateCleanup(ThreadObject *self) { delete self; }
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user