summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Landden <slandden@gmail.com>2018-07-25 21:22:27 -0700
committerGitHub <noreply@github.com>2018-07-25 21:22:27 -0700
commit67ffe7bf5be5065afaab335d38dfd428ebae143d (patch)
treeebcdb625cc5843ace152fd4ea0a37a1517a5db33
parent08c24d2d71bffed9c224a722f2958757a35545f2 (diff)
parentb3e335cfcb2016fe12473396270b1a83a0818c95 (diff)
downloaddistcc-git-67ffe7bf5be5065afaab335d38dfd428ebae143d.tar.gz
Merge branch 'master' into ssh-fix
-rw-r--r--man/distcc.18
-rw-r--r--src/ssh.c6
-rwxr-xr-xupdate-distcc-symlinks.py7
3 files changed, 14 insertions, 7 deletions
diff --git a/man/distcc.1 b/man/distcc.1
index 3a5629c..9ca2cfc 100644
--- a/man/distcc.1
+++ b/man/distcc.1
@@ -49,9 +49,7 @@ be listening for connections.
.PP
TCP connections should only be used on secure networks because there
is no user authentication or protection of source or object code. SSH
-connections are typically 25% slower because of processor overhead for
-encryption, although this can vary greatly depending on CPUs, network
-and the program being built.
+connections are slower.
.PP
distcc is intended to be used with GNU Make's
.B -j
@@ -649,7 +647,9 @@ or unreachable, and to prevent compiles hanging indefinitely if a
server is disconnected while in use. If a client-side timeout
expires, the job will be re-run locally.
.PP
-The timeouts are not configurable at present.
+The transfer timeout is not configurable at present. The timeout that
+detects stale distributed job is configurable via DISTCC_IO_TIMEOUT
+environment variable.
.SH "DIAGNOSTICS"
Error messages or warnings from local or remote compilers are passed
through to diagnostic output on the client.
diff --git a/src/ssh.c b/src/ssh.c
index a8f4e43..8d60298 100644
--- a/src/ssh.c
+++ b/src/ssh.c
@@ -195,15 +195,15 @@ int dcc_ssh_connect(char *ssh_cmd,
pid_t ret;
const int max_ssh_args = 12;
char *ssh_args[max_ssh_args];
- char *child_argv[10+max_ssh_args];
+ char *child_argv[11+max_ssh_args];
int i,j;
int num_ssh_args = 0;
+ char *ssh_cmd_in;
/* We need to cast away constness. I promise the strings in the argv[]
* will not be modified. */
- if (!ssh_cmd) {
- char *ssh_cmd_in = getenv("DISTCC_SSH");
+ if (!ssh_cmd && (ssh_cmd_in = getenv("DISTCC_SSH"))) {
ssh_cmd = strtok(ssh_cmd_in, " ");
char *token = strtok(NULL, " ");
while (token != NULL) {
diff --git a/update-distcc-symlinks.py b/update-distcc-symlinks.py
index f467ead..af0fffe 100755
--- a/update-distcc-symlinks.py
+++ b/update-distcc-symlinks.py
@@ -4,6 +4,7 @@ import subprocess, string, os, stat, re
distcc_dir = "/usr/lib/distcc"
gcc_dir = "/usr/lib/gcc"
+gcccross_dir = "/usr/lib/gcc-cross"
old_symlinks = set()
new_symlinks = set()
standard_names = ["cc", "c++", "c89", "c99"]
@@ -35,6 +36,12 @@ for gnu_host in os.listdir(gcc_dir):
for version in os.listdir(gcc_dir + "/" + gnu_host):
consider_gcc("", "-%(version)s" % vars())
consider_gcc("%(gnu_host)s-" % vars(), "-%(version)s" % vars())
+for gnu_host in os.listdir(gcccross_dir):
+ consider_gcc("%(gnu_host)s-" % vars(), "")
+ for version in os.listdir(gcccross_dir + "/" + gnu_host):
+ consider_gcc("", "-%(version)s" % vars())
+ consider_gcc("%(gnu_host)s-" % vars(), "-%(version)s" % vars())
+
consider_clang("")
for ent in os.listdir("/usr/lib"):