]> granicus.if.org Git - vim/commitdiff
patch 7.4.2145 v7.4.2145
authorBram Moolenaar <Bram@vim.org>
Tue, 2 Aug 2016 19:55:17 +0000 (21:55 +0200)
committerBram Moolenaar <Bram@vim.org>
Tue, 2 Aug 2016 19:55:17 +0000 (21:55 +0200)
Problem:    Win32: Using CreateThread/ExitThread is not safe.
Solution:   Use _beginthreadex and return from the thread. (Ken Takata)

src/os_win32.c
src/version.c

index 2cbea0bdc11432c59b8616c5950db852e212b585..71221776d73148ad7b927f5b257688ebdcacd39a 100644 (file)
@@ -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 */
index a6f179439446ae77f0cb7d2b6a997429fe0d91ea..b355f080a9398a77c648864a3e6d2a0df85e14ba 100644 (file)
@@ -763,6 +763,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2145,
 /**/
     2144,
 /**/