Mercurial > vim
changeset 9740:4665d491a69e v7.4.2145
commit https://github.com/vim/vim/commit/86f2cd5bc574c23fa276d7f57cd1300e24222913
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 2 21:55:17 2016 +0200
patch 7.4.2145
Problem: Win32: Using CreateThread/ExitThread is not safe.
Solution: Use _beginthreadex and return from the thread. (Ken Takata)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 02 Aug 2016 22:00:05 +0200 |
parents | 39ed49695e9d |
children | bb650d4489d6 |
files | src/os_win32.c src/version.c |
diffstat | 2 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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 */