author | Junio C Hamano <gitster@pobox.com> | |
Mon, 12 Sep 2011 04:53:47 +0000 (21:53 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 12 Sep 2011 04:53:47 +0000 (21:53 -0700) |
* dz/connect-error-report:
Do not log unless all connect() attempts fail
Do not log unless all connect() attempts fail
1 | 2 | |||
---|---|---|---|---|
connect.c | patch | | diff1 | | diff2 | | blob | history |
diff --cc connect.c
index b3585aba22bcbd72c9697fd256ef95f691aa384f,844107e2954f6cb8354990d69c6568b9d3091470..d2ce57f850fa6d0a6de04f6f714dec487ff9f1ed
+++ b/connect.c
if (flags & CONNECT_VERBOSE)
fprintf(stderr, "done.\nConnecting to %s (port %s) ... ", host, port);
- for (ai0 = ai; ai; ai = ai->ai_next) {
+ for (ai0 = ai; ai; ai = ai->ai_next, cnt++) {
sockfd = socket(ai->ai_family,
ai->ai_socktype, ai->ai_protocol);
- if (sockfd < 0) {
- saved_errno = errno;
- continue;
- }
- if (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0) {
- saved_errno = errno;
- fprintf(stderr, "%s[%d: %s]: errno=%s\n",
- host,
- cnt,
- ai_name(ai),
- strerror(saved_errno));
- close(sockfd);
+ if ((sockfd < 0) ||
+ (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0)) {
+ strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n",
+ host, cnt, ai_name(ai), strerror(errno));
+ if (0 <= sockfd)
+ close(sockfd);
sockfd = -1;
continue;
}