From: Daniel KouĊ™il Date: Fri, 17 Feb 2012 20:57:19 +0000 (+0000) Subject: ETIMEDOUT is a hard error X-Git-Tag: gridsite-core_R_1_7_17~77 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=9c66a1b5721db064f94bf99cb791b6e38f1cf80b;p=jra1mw.git ETIMEDOUT is a hard error --- diff --git a/emi.canl.canl-c/src/canl.c b/emi.canl.canl-c/src/canl.c index 39504b8..bbfdc10 100644 --- a/emi.canl.canl-c/src/canl.c +++ b/emi.canl.canl-c/src/canl.c @@ -139,9 +139,13 @@ canl_io_connect(canl_ctx cc, canl_io_handler io, const char *host, const char *s mech = find_mech(oid); + err = 0; for (i = 0; ar.ent->h_addr_list[i]; i++) { void *ctx = NULL; + if (err == ETIMEDOUT) + goto end; + err = try_connect(glb_cc, io_cc, ar.ent->h_addr_list[i], ar.ent->h_addrtype, port, timeout);//TODO timeout if (err) @@ -164,6 +168,8 @@ canl_io_connect(canl_ctx cc, canl_io_handler io, const char *host, const char *s done = 1; break; } + if (err == ETIMEDOUT) + goto end; j++; } while (auth_mechs != GSS_C_NO_OID_SET && j < auth_mechs->count && !done);