1From b23d38f1216c4d70738edaa367cf9ecd2dd4b660 Mon Sep 17 00:00:00 2001 2From: Khem Raj <raj.khem@gmail.com> 3Date: Fri, 13 Dec 2019 12:59:26 -0800 4Subject: [PATCH] Add configure time check for setsid 5 6Do not assume glibc == linux 7 8Upstream-Status: Pending 9Signed-off-by: Khem Raj <raj.khem@gmail.com> 10 11--- 12 configure | 1 + 13 configure.in | 1 + 14 main.c | 4 ++-- 15 xtermcfg.hin | 1 + 16 4 files changed, 5 insertions(+), 2 deletions(-) 17 18diff --git a/configure b/configure 19index 72342c7..c2ec2ac 100755 20--- a/configure 21+++ b/configure 22@@ -5803,6 +5803,7 @@ for ac_func in \ 23 unsetenv \ 24 sched_yield \ 25 setpgid \ 26+ setsid \ 27 strftime \ 28 tcgetattr \ 29 waitpid \ 30diff --git a/configure.in b/configure.in 31index 56dbc25..0608c80 100644 32--- a/configure.in 33+++ b/configure.in 34@@ -99,6 +99,7 @@ AC_CHECK_FUNCS( \ 35 unsetenv \ 36 sched_yield \ 37 setpgid \ 38+ setsid \ 39 strftime \ 40 tcgetattr \ 41 waitpid \ 42diff --git a/main.c b/main.c 43index 24da0eb..332174c 100644 44--- a/main.c 45+++ b/main.c 46@@ -2956,7 +2956,7 @@ main(int argc, char *argv[]ENVP_ARG) 47 } 48 } 49 50-#if defined(__osf__) || (defined(__GLIBC__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) 51+#if defined(__osf__) || (defined(__linux__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) 52 #define USE_OPENPTY 1 53 static int opened_tty = -1; 54 #endif 55@@ -4205,7 +4205,7 @@ spawnXTerm(XtermWidget xw, unsigned line_speed) 56 /* 57 * now in child process 58 */ 59-#if defined(_POSIX_SOURCE) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__) 60+#if HAVE_SETSID 61 int pgrp = setsid(); /* variable may not be used... */ 62 #else 63 int pgrp = getpid(); 64diff --git a/xtermcfg.hin b/xtermcfg.hin 65index 19048cd..e54d2cd 100644 66--- a/xtermcfg.hin 67+++ b/xtermcfg.hin 68@@ -98,6 +98,7 @@ 69 #undef HAVE_SCHED_YIELD /* AC_CHECK_FUNCS(sched_yield) */ 70 #undef HAVE_SETITIMER /* CF_SETITIMER */ 71 #undef HAVE_SETPGID /* AC_CHECK_FUNCS(setpgid) */ 72+#undef HAVE_SETSID /* AC_CHECK_FUNCS(setsid) */ 73 #undef HAVE_STDINT_H /* AC_PROG_CC_STDC */ 74 #undef HAVE_STDLIB_H /* AC_CHECK_HEADERS(stdlib.h) */ 75 #undef HAVE_STDNORETURN_H /* CF_C11_NORETURN */ 76