|
|
db5f83 |
From 4cf66fef48e992ae8f8196db50a742c6276e415b Mon Sep 17 00:00:00 2001
|
|
|
db5f83 |
From: Michael Sweet <michael.r.sweet@gmail.com>
|
|
|
db5f83 |
Date: Thu, 5 Oct 2017 15:04:19 -0400
|
|
|
db5f83 |
Subject: [PATCH] The network backends now retry on more error conditions
|
|
|
db5f83 |
(Issue #5123)
|
|
|
db5f83 |
|
|
|
db5f83 |
---
|
|
|
db5f83 |
backend/ipp.c | 5 ++---
|
|
|
db5f83 |
backend/lpd.c | 5 ++---
|
|
|
db5f83 |
backend/socket.c | 5 ++---
|
|
|
db5f83 |
4 files changed, 6 insertions(+), 9 deletions(-)
|
|
|
db5f83 |
|
|
|
db5f83 |
diff --git a/backend/ipp.c b/backend/ipp.c
|
|
|
db5f83 |
index 685d4d9df..588ad995e 100644
|
|
|
db5f83 |
--- a/backend/ipp.c
|
|
|
db5f83 |
+++ b/backend/ipp.c
|
|
|
db5f83 |
@@ -743,8 +743,7 @@ main(int argc, /* I - Number of command-line args */
|
|
|
db5f83 |
|
|
|
db5f83 |
fprintf(stderr, "DEBUG: Connection error: %s\n", strerror(errno));
|
|
|
db5f83 |
|
|
|
db5f83 |
- if (errno == ECONNREFUSED || errno == EHOSTDOWN ||
|
|
|
db5f83 |
- errno == EHOSTUNREACH)
|
|
|
db5f83 |
+ if (errno == ECONNREFUSED || errno == EHOSTDOWN || errno == EHOSTUNREACH || errno == ETIMEDOUT || errno == ENOTCONN)
|
|
|
db5f83 |
{
|
|
|
db5f83 |
if (contimeout && (time(NULL) - start_time) > contimeout)
|
|
|
db5f83 |
{
|
|
|
db5f83 |
@@ -763,13 +762,13 @@ main(int argc, /* I - Number of command-line args */
|
|
|
db5f83 |
break;
|
|
|
db5f83 |
|
|
|
db5f83 |
case EHOSTUNREACH :
|
|
|
db5f83 |
+ default :
|
|
|
db5f83 |
_cupsLangPrintFilter(stderr, "WARNING",
|
|
|
db5f83 |
_("The printer is unreachable at this "
|
|
|
db5f83 |
"time."));
|
|
|
db5f83 |
break;
|
|
|
db5f83 |
|
|
|
db5f83 |
case ECONNREFUSED :
|
|
|
db5f83 |
- default :
|
|
|
db5f83 |
_cupsLangPrintFilter(stderr, "WARNING",
|
|
|
db5f83 |
_("The printer is in use."));
|
|
|
db5f83 |
break;
|
|
|
db5f83 |
diff --git a/backend/lpd.c b/backend/lpd.c
|
|
|
db5f83 |
index 835f9eaee..4325b7c78 100644
|
|
|
db5f83 |
--- a/backend/lpd.c
|
|
|
db5f83 |
+++ b/backend/lpd.c
|
|
|
db5f83 |
@@ -867,8 +867,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
|
|
|
db5f83 |
|
|
|
db5f83 |
fprintf(stderr, "DEBUG: Connection error: %s\n", strerror(error));
|
|
|
db5f83 |
|
|
|
db5f83 |
- if (error == ECONNREFUSED || error == EHOSTDOWN ||
|
|
|
db5f83 |
- error == EHOSTUNREACH)
|
|
|
db5f83 |
+ if (errno == ECONNREFUSED || errno == EHOSTDOWN || errno == EHOSTUNREACH || errno == ETIMEDOUT || errno == ENOTCONN)
|
|
|
db5f83 |
{
|
|
|
db5f83 |
if (contimeout && (time(NULL) - start_time) > contimeout)
|
|
|
db5f83 |
{
|
|
|
db5f83 |
@@ -886,13 +885,13 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
|
|
|
db5f83 |
break;
|
|
|
db5f83 |
|
|
|
db5f83 |
case EHOSTUNREACH :
|
|
|
db5f83 |
+ default :
|
|
|
db5f83 |
_cupsLangPrintFilter(stderr, "WARNING",
|
|
|
db5f83 |
_("The printer is unreachable at "
|
|
|
db5f83 |
"this time."));
|
|
|
db5f83 |
break;
|
|
|
db5f83 |
|
|
|
db5f83 |
case ECONNREFUSED :
|
|
|
db5f83 |
- default :
|
|
|
db5f83 |
_cupsLangPrintFilter(stderr, "WARNING",
|
|
|
db5f83 |
_("The printer is in use."));
|
|
|
db5f83 |
break;
|
|
|
db5f83 |
diff --git a/backend/socket.c b/backend/socket.c
|
|
|
db5f83 |
index 7fc0880f1..c16a1a097 100644
|
|
|
db5f83 |
--- a/backend/socket.c
|
|
|
db5f83 |
+++ b/backend/socket.c
|
|
|
db5f83 |
@@ -330,8 +330,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
|
|
db5f83 |
|
|
|
db5f83 |
fprintf(stderr, "DEBUG: Connection error: %s\n", strerror(error));
|
|
|
db5f83 |
|
|
|
db5f83 |
- if (error == ECONNREFUSED || error == EHOSTDOWN ||
|
|
|
db5f83 |
- error == EHOSTUNREACH)
|
|
|
db5f83 |
+ if (errno == ECONNREFUSED || errno == EHOSTDOWN || errno == EHOSTUNREACH || errno == ETIMEDOUT || errno == ENOTCONN)
|
|
|
db5f83 |
{
|
|
|
db5f83 |
if (contimeout && (time(NULL) - start_time) > contimeout)
|
|
|
db5f83 |
{
|
|
|
db5f83 |
@@ -349,13 +348,13 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
|
|
db5f83 |
break;
|
|
|
db5f83 |
|
|
|
db5f83 |
case EHOSTUNREACH :
|
|
|
db5f83 |
+ default :
|
|
|
db5f83 |
_cupsLangPrintFilter(stderr, "WARNING",
|
|
|
db5f83 |
_("The printer is unreachable at this "
|
|
|
db5f83 |
"time."));
|
|
|
db5f83 |
break;
|
|
|
db5f83 |
|
|
|
db5f83 |
case ECONNREFUSED :
|
|
|
db5f83 |
- default :
|
|
|
db5f83 |
_cupsLangPrintFilter(stderr, "WARNING",
|
|
|
db5f83 |
_("The printer is in use."));
|
|
|
db5f83 |
break;
|
|
|
db5f83 |
--
|
|
|
db5f83 |
2.13.6
|
|
|
db5f83 |
|