patch 8.0.0445: getpgid is not supported on all systems
Problem: Getpgid is not supported on all systems.
Solution: Add a configure check.
diff --git a/src/auto/configure b/src/auto/configure
index 34770f8..73b9ce7 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -12022,7 +12022,7 @@
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 38b0ccf..49ed596 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 113fad1..4445cf5 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -3609,7 +3609,7 @@
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 6c5955b..9dd5c34 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -3081,7 +3081,7 @@
}
/*
- * 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 @@
/* 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 db00cc7..7a0d500 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 445,
+/**/
444,
/**/
443,