Blame SOURCES/cups-net-backends-etimedout-enotconn.patch

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