Merge pull request #25117 from dragmz/patch-6
Replace CreateThread with QueueUserWorkItem
This commit is contained in:
commit
ad633b6c9c
1 changed files with 4 additions and 7 deletions
|
@ -52,6 +52,7 @@ DWORD ThreadWindows::thread_callback(LPVOID userdata) {
|
||||||
|
|
||||||
t->id = (ID)GetCurrentThreadId(); // must implement
|
t->id = (ID)GetCurrentThreadId(); // must implement
|
||||||
t->callback(t->user);
|
t->callback(t->user);
|
||||||
|
SetEvent(t->handle);
|
||||||
|
|
||||||
ScriptServer::thread_exit();
|
ScriptServer::thread_exit();
|
||||||
|
|
||||||
|
@ -63,13 +64,9 @@ Thread *ThreadWindows::create_func_windows(ThreadCreateCallback p_callback, void
|
||||||
ThreadWindows *tr = memnew(ThreadWindows);
|
ThreadWindows *tr = memnew(ThreadWindows);
|
||||||
tr->callback = p_callback;
|
tr->callback = p_callback;
|
||||||
tr->user = p_user;
|
tr->user = p_user;
|
||||||
tr->handle = CreateThread(
|
tr->handle = CreateEvent(NULL, TRUE, FALSE, NULL);
|
||||||
NULL, // default security attributes
|
|
||||||
0, // use default stack size
|
QueueUserWorkItem(thread_callback, tr, WT_EXECUTELONGFUNCTION);
|
||||||
thread_callback, // thread function name
|
|
||||||
tr, // argument to thread function
|
|
||||||
0, // use default creation flags
|
|
||||||
NULL); // returns the thread identifier
|
|
||||||
|
|
||||||
return tr;
|
return tr;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue