forked from mirror/OpenTTD
(svn r2807) Fix two major bugs in the threaded save code:
- Do not dereference a local variable which no longer exists; this lead to random crashes when saving - (Win32) Do not close a handle before it is used last There are still many major problems (race conditions and resulting memory corruption/crashes) left
This commit is contained in:
6
win32.c
6
win32.c
@@ -1204,16 +1204,12 @@ bool CreateOTTDThread(void *func, void *param)
|
||||
return hThread != NULL;
|
||||
}
|
||||
|
||||
void CloseOTTDThread(void)
|
||||
{
|
||||
if (!CloseHandle(hThread)) DEBUG(misc, 0) ("Failed to close thread?...");
|
||||
}
|
||||
|
||||
void JoinOTTDThread(void)
|
||||
{
|
||||
if (hThread == NULL) return;
|
||||
|
||||
WaitForSingleObject(hThread, INFINITE);
|
||||
if (!CloseHandle(hThread)) DEBUG(misc, 0) ("Failed to close thread handle!");
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user