0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.1.1232: can't build on MS-Windows

Problem:    Can't build on MS-Windows.
Solution:   Define process_still_running.
This commit is contained in:
Bram Moolenaar 2019-04-28 22:50:40 +02:00
parent 67cf86bfff
commit 1b243eafb0
6 changed files with 16 additions and 12 deletions

View File

@ -2027,7 +2027,9 @@ make_percent_swname(char_u *dir, char_u *name)
} }
#endif #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; static int process_still_running;
#endif #endif
@ -2160,10 +2162,10 @@ swapfile_info(char_u *fname)
msg_puts(_("\n process ID: ")); msg_puts(_("\n process ID: "));
msg_outnum(char_to_long(b0.b0_pid)); msg_outnum(char_to_long(b0.b0_pid));
#if defined(UNIX) || defined(MSWIN) #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)")); msg_puts(_(" (STILL RUNNING)"));
# if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) # ifdef HAVE_PROCESS_STILL_RUNNING
process_still_running = TRUE; process_still_running = TRUE;
# endif # endif
} }
@ -2203,7 +2205,7 @@ swapfile_unchanged(char_u *fname)
int fd; int fd;
struct block0 b0; struct block0 b0;
int ret = TRUE; int ret = TRUE;
#ifdef UNIX #if defined(UNIX) || defined(MSWIN)
long pid; long pid;
#endif #endif
@ -2232,7 +2234,7 @@ swapfile_unchanged(char_u *fname)
#if defined(UNIX) || defined(MSWIN) #if defined(UNIX) || defined(MSWIN)
// process must known and not be running // process must known and not be running
pid = char_to_long(b0.b0_pid); 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; ret = FALSE;
#endif #endif
@ -4825,7 +4827,7 @@ findswapname(
} }
#endif #endif
#if (defined(UNIX) || defined(VMS)) && (defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)) #ifdef HAVE_PROCESS_STILL_RUNNING
process_still_running = FALSE; process_still_running = FALSE;
#endif #endif
// It's safe to delete the swap file if all these are true: // It's safe to delete the swap file if all these are true:
@ -4893,13 +4895,13 @@ findswapname(
name == NULL name == NULL
? (char_u *)_("Swap file already exists!") ? (char_u *)_("Swap file already exists!")
: name, : name,
# if defined(UNIX) || defined(VMS) # ifdef HAVE_PROCESS_STILL_RUNNING
process_still_running process_still_running
? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") : ? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
# endif # endif
(char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL, FALSE); (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) if (process_still_running && choice >= 4)
choice++; /* Skip missing "Delete it" button */ choice++; /* Skip missing "Delete it" button */
# endif # endif

View File

@ -2397,7 +2397,7 @@ mch_get_pid(void)
* return TRUE if process "pid" is still running * return TRUE if process "pid" is still running
*/ */
int int
mch_process_running(pid_t pid) mch_process_running(long pid)
{ {
// EMX kill() not working correctly, it seems // EMX kill() not working correctly, it seems
return kill(pid, 0) == 0; return kill(pid, 0) == 0;

View File

@ -2907,7 +2907,7 @@ mch_get_pid(void)
* return TRUE if process "pid" is still running * return TRUE if process "pid" is still running
*/ */
int int
mch_process_running(pid_t pid) mch_process_running(long pid)
{ {
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 0, (DWORD)pid); HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 0, (DWORD)pid);
DWORD status = 0; DWORD status = 0;

View File

@ -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); int mch_get_uname(uid_t uid, char_u *s, int len);
void mch_get_host_name(char_u *s, int len); void mch_get_host_name(char_u *s, int len);
long mch_get_pid(void); 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_dirname(char_u *buf, int len);
int mch_FullName(char_u *fname, char_u *buf, int len, int force); int mch_FullName(char_u *fname, char_u *buf, int len, int force);
int mch_isFullName(char_u *fname); int mch_isFullName(char_u *fname);

View File

@ -19,7 +19,7 @@ void fname_case(char_u *name, int len);
int mch_get_user_name(char_u *s, int len); int mch_get_user_name(char_u *s, int len);
void mch_get_host_name(char_u *s, int len); void mch_get_host_name(char_u *s, int len);
long mch_get_pid(void); 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_dirname(char_u *buf, int len);
long mch_getperm(char_u *name); long mch_getperm(char_u *name);
int mch_setperm(char_u *name, long perm); int mch_setperm(char_u *name, long perm);

View File

@ -767,6 +767,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1232,
/**/ /**/
1231, 1231,
/**/ /**/