# HG changeset patch # User Bram Moolenaar # Date 1556485205 -7200 # Node ID 1ae13586edf85abeea3e0df47eb5c3019741ff91 # Parent a525b0447547567e0252be618451a242e62bc050 patch 8.1.1232: can't build on MS-Windows commit https://github.com/vim/vim/commit/1b243eafb0bf21daaba01004c450cfd8fea70c66 Author: Bram Moolenaar Date: Sun Apr 28 22:50:40 2019 +0200 patch 8.1.1232: can't build on MS-Windows Problem: Can't build on MS-Windows. Solution: Define process_still_running. diff --git a/src/memline.c b/src/memline.c --- a/src/memline.c +++ b/src/memline.c @@ -2027,7 +2027,9 @@ make_percent_swname(char_u *dir, char_u } #endif -#if (defined(UNIX) || defined(VMS)) && (defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)) +#if (defined(UNIX) || defined(VMS) || defined(MSWIN)) \ + && (defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)) +# define HAVE_PROCESS_STILL_RUNNING static int process_still_running; #endif @@ -2160,10 +2162,10 @@ swapfile_info(char_u *fname) msg_puts(_("\n process ID: ")); msg_outnum(char_to_long(b0.b0_pid)); #if defined(UNIX) || defined(MSWIN) - if (mch_process_running((pid_t)char_to_long(b0.b0_pid))) + if (mch_process_running(char_to_long(b0.b0_pid))) { msg_puts(_(" (STILL RUNNING)")); -# if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) +# ifdef HAVE_PROCESS_STILL_RUNNING process_still_running = TRUE; # endif } @@ -2203,7 +2205,7 @@ swapfile_unchanged(char_u *fname) int fd; struct block0 b0; int ret = TRUE; -#ifdef UNIX +#if defined(UNIX) || defined(MSWIN) long pid; #endif @@ -2232,7 +2234,7 @@ swapfile_unchanged(char_u *fname) #if defined(UNIX) || defined(MSWIN) // process must known and not be running pid = char_to_long(b0.b0_pid); - if (pid == 0L || mch_process_running((pid_t)pid)) + if (pid == 0L || mch_process_running(pid)) ret = FALSE; #endif @@ -4825,7 +4827,7 @@ findswapname( } #endif -#if (defined(UNIX) || defined(VMS)) && (defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)) +#ifdef HAVE_PROCESS_STILL_RUNNING process_still_running = FALSE; #endif // It's safe to delete the swap file if all these are true: @@ -4893,13 +4895,13 @@ findswapname( name == NULL ? (char_u *)_("Swap file already exists!") : name, -# if defined(UNIX) || defined(VMS) +# ifdef HAVE_PROCESS_STILL_RUNNING process_still_running ? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") : # endif (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL, FALSE); -# if defined(UNIX) || defined(VMS) +# ifdef HAVE_PROCESS_STILL_RUNNING if (process_still_running && choice >= 4) choice++; /* Skip missing "Delete it" button */ # endif diff --git a/src/os_unix.c b/src/os_unix.c --- a/src/os_unix.c +++ b/src/os_unix.c @@ -2397,7 +2397,7 @@ mch_get_pid(void) * return TRUE if process "pid" is still running */ int -mch_process_running(pid_t pid) +mch_process_running(long pid) { // EMX kill() not working correctly, it seems return kill(pid, 0) == 0; diff --git a/src/os_win32.c b/src/os_win32.c --- a/src/os_win32.c +++ b/src/os_win32.c @@ -2907,7 +2907,7 @@ mch_get_pid(void) * return TRUE if process "pid" is still running */ int -mch_process_running(pid_t pid) +mch_process_running(long pid) { HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 0, (DWORD)pid); DWORD status = 0; diff --git a/src/proto/os_unix.pro b/src/proto/os_unix.pro --- a/src/proto/os_unix.pro +++ b/src/proto/os_unix.pro @@ -27,7 +27,7 @@ int mch_get_user_name(char_u *s, int len int mch_get_uname(uid_t uid, char_u *s, int len); void mch_get_host_name(char_u *s, int len); long mch_get_pid(void); -int mch_process_running(pid_t pid); +int mch_process_running(long pid); int mch_dirname(char_u *buf, int len); int mch_FullName(char_u *fname, char_u *buf, int len, int force); int mch_isFullName(char_u *fname); diff --git a/src/proto/os_win32.pro b/src/proto/os_win32.pro --- a/src/proto/os_win32.pro +++ b/src/proto/os_win32.pro @@ -19,7 +19,7 @@ void fname_case(char_u *name, int len); int mch_get_user_name(char_u *s, int len); void mch_get_host_name(char_u *s, int len); long mch_get_pid(void); -int mch_process_running(pid_t pid); +int mch_process_running(long pid); int mch_dirname(char_u *buf, int len); long mch_getperm(char_u *name); int mch_setperm(char_u *name, long perm); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -768,6 +768,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1232, +/**/ 1231, /**/ 1230,