diff options
Diffstat (limited to 'www/serf')
-rw-r--r-- | www/serf/Makefile | 3 | ||||
-rw-r--r-- | www/serf/distinfo | 4 | ||||
-rw-r--r-- | www/serf/files/patch-outgoing.c | 47 |
3 files changed, 3 insertions, 51 deletions
diff --git a/www/serf/Makefile b/www/serf/Makefile index 198c6a3eb06a..3f45bfbfdac1 100644 --- a/www/serf/Makefile +++ b/www/serf/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= serf -PORTVERSION= 1.3.5 -PORTREVISION= 1 +PORTVERSION= 1.3.6 CATEGORIES= www MASTER_SITES= http://serf.googlecode.com/svn/src_releases/ diff --git a/www/serf/distinfo b/www/serf/distinfo index 5e503b79d42a..3077db00ad1f 100644 --- a/www/serf/distinfo +++ b/www/serf/distinfo @@ -1,2 +1,2 @@ -SHA256 (serf-1.3.5.tar.bz2) = d311ce81a58301f47e652e54551999033880decefae0deea58ba5415776b1fc3 -SIZE (serf-1.3.5.tar.bz2) = 140554 +SHA256 (serf-1.3.6.tar.bz2) = ca637beb0399797d4fc7ffa85e801733cd9c876997fac4a4fd12e9afe86563f2 +SIZE (serf-1.3.6.tar.bz2) = 140671 diff --git a/www/serf/files/patch-outgoing.c b/www/serf/files/patch-outgoing.c deleted file mode 100644 index 1c5da43968c4..000000000000 --- a/www/serf/files/patch-outgoing.c +++ /dev/null @@ -1,47 +0,0 @@ ---- ./outgoing.c.orig 2014-04-21 16:56:02.000000000 +0200 -+++ ./outgoing.c 2014-06-08 18:17:48.000000000 +0200 -@@ -23,6 +23,13 @@ - - #include "serf_private.h" - -+/* Some implementations -like Windows- report some hangup errors via a -+ different event than the specific HUP event. */ -+#define APR_STATUS_IMPLIES_HANGUP(status) \ -+ (APR_STATUS_IS_ECONNRESET(status) || \ -+ APR_STATUS_IS_ECONNABORTED(status) || \ -+ status == SERF_ERROR_REQUEST_LOST) -+ - /* cleanup for sockets */ - static apr_status_t clean_skt(void *data) - { -@@ -922,8 +929,12 @@ - request->handler_baton, - pool); - -- if (SERF_BUCKET_READ_ERROR(status)) { -- /* Report the request as 'died'/'cancelled' to the application */ -+ if (SERF_BUCKET_READ_ERROR(status) -+ && !APR_STATUS_IMPLIES_HANGUP(status)) { -+ -+ /* Report the request as 'died'/'cancelled' to the application, -+ but only if our caller doesn't handle this status specifically, -+ with something like a retry */ - (void)(*request->handler)(request, - NULL, - request->handler_baton, -@@ -1128,10 +1139,12 @@ - - /* Some systems will not generate a HUP poll event so we have to - * handle the ECONNRESET issue and ECONNABORT here. -+ * -+ * ### Update similar code in handle_response() if this condition -+ * changes, or requests will get lost and/or accidentally reported -+ * cancelled. - */ -- if (APR_STATUS_IS_ECONNRESET(status) || -- APR_STATUS_IS_ECONNABORTED(status) || -- status == SERF_ERROR_REQUEST_LOST) { -+ if (APR_STATUS_IMPLIES_HANGUP(status)) { - /* If the connection had ever been good, be optimistic & try again. - * If it has never tried again (incl. a retry), fail. - */ |