diff options
author | tron <tron@openttd.org> | 2005-08-05 08:24:12 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2005-08-05 08:24:12 +0000 |
commit | a86e9689dfb969690dc1fcdcdde22506e5b4b94b (patch) | |
tree | b50ada0cade250f81d3852f35d9bbe8bef601bae /win32.c | |
parent | 647fe2e8669d78de13f1098a6f2d0b5541bcbe70 (diff) | |
download | openttd-a86e9689dfb969690dc1fcdcdde22506e5b4b94b.tar.xz |
(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
Diffstat (limited to 'win32.c')
-rw-r--r-- | win32.c | 6 |
1 files changed, 1 insertions, 5 deletions
@@ -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!"); } |