summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-03-11 20:03:42 +0100
committerBram Moolenaar <Bram@vim.org>2017-03-11 20:03:42 +0100
commit2fcf6688bc3a8df2dff9c352d415b89db8b33668 (patch)
tree44c8eb2e9fe5d67a6ee09ba20d163886651edeab
parenta95ab321200f0239991bf53756b17cd7b90745f9 (diff)
downloadvim-git-2fcf6688bc3a8df2dff9c352d415b89db8b33668.tar.gz
patch 8.0.0445: getpgid is not supported on all systemsv8.0.0445
Problem: Getpgid is not supported on all systems. Solution: Add a configure check.
-rwxr-xr-xsrc/auto/configure2
-rw-r--r--src/config.h.in5
-rw-r--r--src/configure.ac2
-rw-r--r--src/os_unix.c4
-rw-r--r--src/version.c2
5 files changed, 10 insertions, 5 deletions
diff --git a/src/auto/configure b/src/auto/configure
index 34770f8ba..73b9ce7d5 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -12022,7 +12022,7 @@ fi
for ac_func in fchdir fchown fsync getcwd getpseudotty \
getpwent getpwnam getpwuid getrlimit gettimeofday getwd lstat \
memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
- setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
+ getpgid setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
sigprocmask sigvec strcasecmp strerror strftime stricmp strncasecmp \
strnicmp strpbrk strtol tgetent towlower towupper iswupper \
usleep utime utimes
diff --git a/src/config.h.in b/src/config.h.in
index 38b0ccf53..49ed596f4 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -158,7 +158,9 @@
#undef HAVE_FCHOWN
#undef HAVE_FSEEKO
#undef HAVE_FSYNC
+#undef HAVE_FLOAT_FUNCS
#undef HAVE_GETCWD
+#undef HAVE_GETPGID
#undef HAVE_GETPSEUDOTTY
#undef HAVE_GETPWENT
#undef HAVE_GETPWNAM
@@ -167,13 +169,12 @@
#undef HAVE_GETTIMEOFDAY
#undef HAVE_GETWD
#undef HAVE_ICONV
-#undef HAVE_NL_LANGINFO_CODESET
#undef HAVE_LSTAT
#undef HAVE_MEMSET
#undef HAVE_MKDTEMP
#undef HAVE_NANOSLEEP
+#undef HAVE_NL_LANGINFO_CODESET
#undef HAVE_OPENDIR
-#undef HAVE_FLOAT_FUNCS
#undef HAVE_PUTENV
#undef HAVE_QSORT
#undef HAVE_READLINK
diff --git a/src/configure.ac b/src/configure.ac
index 113fad1d2..4445cf5bf 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -3609,7 +3609,7 @@ dnl Can only be used for functions that do not require any include.
AC_CHECK_FUNCS(fchdir fchown fsync getcwd getpseudotty \
getpwent getpwnam getpwuid getrlimit gettimeofday getwd lstat \
memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
- setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
+ getpgid setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
sigprocmask sigvec strcasecmp strerror strftime stricmp strncasecmp \
strnicmp strpbrk strtol tgetent towlower towupper iswupper \
usleep utime utimes)
diff --git a/src/os_unix.c b/src/os_unix.c
index 6c5955b84..9dd5c34e7 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -3081,7 +3081,7 @@ executable_file(char_u *name)
}
/*
- * Return 1 if "name" can be found in $PATH and executed, 0 if not.
+ * Return TRUE if "name" can be found in $PATH and executed, FALSE if not.
* If "use_path" is FALSE only check if "name" is executable.
* Return -1 if unknown.
*/
@@ -5429,8 +5429,10 @@ mch_stop_job(job_T *job, char_u *how)
/* TODO: have an option to only kill the process, not the group? */
job_pid = job->jv_pid;
+#ifdef HAVE_GETPGID
if (job_pid == getpgid(job_pid))
job_pid = -job_pid;
+#endif
kill(job_pid, sig);
diff --git a/src/version.c b/src/version.c
index db00cc7d2..7a0d500b4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 445,
+/**/
444,
/**/
443,