FreeBSD Bugzilla – Attachment 143499 Details for
Bug 190757
www/serf cause subversion to coredump
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
serf-1.3.5/outgoing.c patch
serf-1.3.5_svn-1.8.9.diff (text/plain), 2.59 KB, created by
Olli Hauer
on 2014-06-07 20:37:54 UTC
(
hide
)
Description:
serf-1.3.5/outgoing.c patch
Filename:
MIME Type:
Creator:
Olli Hauer
Created:
2014-06-07 20:37:54 UTC
Size:
2.59 KB
patch
obsolete
>Index: serf/files/patch-outgoing.c >=================================================================== >--- serf/files/patch-outgoing.c (revision 0) >+++ serf/files/patch-outgoing.c (working copy) >@@ -0,0 +1,47 @@ >+--- ./outgoing.c.orig 2014-04-21 16:56:02.000000000 +0200 >++++ ./outgoing.c 2014-06-07 22:20:27.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. >+ */ > >Property changes on: serf/files/patch-outgoing.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 190757
: 143499