RE: svn commit: r1502901 - /subversion/trunk/subversion/libsvn_ra_serf/util.c
From: Bert Huijben <bert_at_qqmail.nl>
Date: Mon, 15 Jul 2013 16:19:16 +0200
> -----Original Message-----
I tried to keep the patch local until serf handles this problem for us in a cleaner way.
For all other errors we destroy the pool in which the ra session lives at some later point in time.
In theory we should do this for +- every error that exits the response processing, but in our current usage of serf in ra_serf this is very hard to detect. The code should then also make the decision if it is better to read the rest of the response and keep the existing connection, or reset the connection as I do here. For the single request variant it is in the worst case as efficient to reset as starting a new ra session, but in general resetting is much cheaper as it allows reusing the ssl, auth, capability and chunk-detect results.
The current ra_serf error code paths that handles both EOF, AGAIN, etc. (handled by serf) and true errors (breaking the context loop) makes this very hard to implement in a clean way. We probably need a better error handling model here, to do this in a better way for 1.9.
* this way = return from a callback to signal not interested in further results
This is an archived mail posted to the Subversion Dev mailing list.