diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-08-02 21:55:17 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-08-02 21:55:17 +0200 |
commit | 86f2cd5bc574c23fa276d7f57cd1300e24222913 (patch) | |
tree | 995f73d4f28406b0f4b29c2b535ecaece13bc4ee | |
parent | 796aa9c804f09276bd3cc45123f4a191a001dec2 (diff) |
patch 7.4.2145v7.4.2145
Problem: Win32: Using CreateThread/ExitThread is not safe.
Solution: Use _beginthreadex and return from the thread. (Ken Takata)
-rw-r--r-- | src/os_win32.c | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/os_win32.c b/src/os_win32.c index 2cbea0bdc1..71221776d7 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -4267,7 +4267,7 @@ sub_process_writer(LPVOID param) /* finished all the lines, close pipe */ CloseHandle(g_hChildStd_IN_Wr); - ExitThread(0); + return 0; } @@ -4491,8 +4491,8 @@ mch_system_piped(char *cmd, int options) if (options & SHELL_WRITE) { - HANDLE thread = - CreateThread(NULL, /* security attributes */ + HANDLE thread = (HANDLE) + _beginthreadex(NULL, /* security attributes */ 0, /* default stack size */ sub_process_writer, /* function to be executed */ g_hChildStd_IN_Wr, /* parameter */ diff --git a/src/version.c b/src/version.c index a6f1794394..b355f080a9 100644 --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2145, +/**/ 2144, /**/ 2143, |