diff options
author | Fabian Mauchle <fabian.mauchle@switch.ch> | 2017-08-04 18:18:12 +0200 |
---|---|---|
committer | Fabian Mauchle <fabian.mauchle@switch.ch> | 2017-08-04 18:18:12 +0200 |
commit | c531ef23bc6b07cb1fabe31b53f0f262fddcbc82 (patch) | |
tree | db1e62058be0f07c7fa3c5ab6418db1b1a1a9b9c | |
parent | 5a1c3476ab7d57a0e64de1e919c641c36575bc6c (diff) |
fail dynamic servers earlymauchle-dup-dyndisc2
-rw-r--r-- | radsecproxy.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/radsecproxy.c b/radsecproxy.c index 0bccce8..b6edc07 100644 --- a/radsecproxy.c +++ b/radsecproxy.c @@ -1862,9 +1862,9 @@ void *clientwr(void *arg) { if (conf->pdef->connecter) { if (!conf->pdef->connecter(server, NULL, server->dynamiclookuparg ? 5 : 0, "clientwr")) { + server->dynfailing = 1; if (server->dynamiclookuparg) { server->dynstartup = 0; - server->dynfailing = 1; debug(DBG_WARN, "%s: connect failed, sleeping %ds", __func__, ZZZ); sleep(ZZZ); @@ -1876,6 +1876,7 @@ void *clientwr(void *arg) { server->in_use = 1; #endif if (pthread_create(&clientrdth, &pthread_attr, conf->pdef->clientconnreader, (void *)server)) { + server->dynfailing = 1; debugerrno(errno, DBG_ERR, "clientwr: pthread_create failed"); goto errexit; } @@ -1919,6 +1920,7 @@ void *clientwr(void *arg) { for (i = 0; i < MAX_REQUESTS; i++) { if (server->clientrdgone) { + server->dynfailing = 1; if (conf->pdef->connecter) pthread_join(clientrdth, NULL); goto errexit; |