mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 17:38:00 +00:00
Add cmake check for whether setpgrp takes arguments.
FreeBSD declares setpgrp() as taking two arguments, like Linux's setpgid(). Detect that at configure time and adjust the call in Pageant appropriately.
This commit is contained in:
parent
732ec31a17
commit
fda41e1990
@ -43,6 +43,8 @@
|
||||
#cmakedefine01 HAVE_CLOCK_MONOTONIC
|
||||
#cmakedefine01 HAVE_CLOCK_GETTIME
|
||||
#cmakedefine01 HAVE_SO_PEERCRED
|
||||
#cmakedefine01 HAVE_NULLARY_SETPGRP
|
||||
#cmakedefine01 HAVE_BINARY_SETPGRP
|
||||
#cmakedefine01 HAVE_PANGO_FONT_FAMILY_IS_MONOSPACE
|
||||
#cmakedefine01 HAVE_PANGO_FONT_MAP_LIST_FAMILIES
|
||||
|
||||
|
@ -51,6 +51,21 @@ int main(int argc, char **argv) {
|
||||
cr.pid + cr.uid + cr.gid;
|
||||
}" HAVE_SO_PEERCRED)
|
||||
|
||||
check_c_source_compiles("
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
setpgrp();
|
||||
}" HAVE_NULLARY_SETPGRP)
|
||||
check_c_source_compiles("
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
setpgrp(0, 0);
|
||||
}" HAVE_BINARY_SETPGRP)
|
||||
|
||||
if(HAVE_GETADDRINFO AND PUTTY_IPV6)
|
||||
set(NO_IPV6 OFF)
|
||||
else()
|
||||
|
@ -330,7 +330,11 @@ void pageant_fork_and_print_env(bool retain_tty)
|
||||
/* Get out of our previous process group, to avoid being
|
||||
* blasted by passing signals. But keep our controlling tty,
|
||||
* so we can keep checking to see if we still have one. */
|
||||
#if defined HAVE_NULLARY_SETPGRP
|
||||
setpgrp();
|
||||
#elif defined HAVE_BINARY_SETPGRP
|
||||
setpgrp(0, 0);
|
||||
#endif
|
||||
} else {
|
||||
/* Do that, but also leave our entire session and detach from
|
||||
* the controlling tty (if any). */
|
||||
|
Loading…
Reference in New Issue
Block a user