Mercurial > vim
changeset 11115:3b36da20ad73 v8.0.0445
patch 8.0.0445: getpgid is not supported on all systems
commit https://github.com/vim/vim/commit/2fcf6688bc3a8df2dff9c352d415b89db8b33668
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Mar 11 20:03:42 2017 +0100
patch 8.0.0445: getpgid is not supported on all systems
Problem: Getpgid is not supported on all systems.
Solution: Add a configure check.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 11 Mar 2017 20:15:04 +0100 |
parents | 5af1253d229c |
children | e879e8149411 |
files | src/auto/configure src/config.h.in src/configure.ac src/os_unix.c src/version.c |
diffstat | 5 files changed, 10 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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
--- a/src/configure.ac +++ b/src/configure.ac @@ -3609,7 +3609,7 @@ dnl Can only be used for functions that 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)
--- 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);