=== modified file 'src/FwdState.cc' --- src/FwdState.cc 2014-03-31 06:57:27 +0000 +++ src/FwdState.cc 2014-04-02 10:23:34 +0000 @@ -493,7 +493,7 @@ /**** CALLBACK WRAPPERS ************************************************************/ static void -fwdPeerSelectionCompleteWrapper(Comm::ConnectionList * unused, ErrorState *err, void *data) +fwdPeerSelectionCompleteWrapper(ErrorState *err, void *data) { FwdState *fwd = (FwdState *) data; if (err) === modified file 'src/PeerSelectState.h' --- src/PeerSelectState.h 2014-02-10 17:52:49 +0000 +++ src/PeerSelectState.h 2014-04-02 10:21:42 +0000 @@ -45,7 +45,7 @@ class StoreEntry; class ErrorState; -typedef void PSC(Comm::ConnectionList *, ErrorState *, void *); +typedef void PSC(ErrorState *, void *); void peerSelect(Comm::ConnectionList *, HttpRequest *, AccessLogEntry::Pointer const&, StoreEntry *, PSC *, void *data); void peerSelectInit(void); === modified file 'src/peer_select.cc' --- src/peer_select.cc 2014-02-02 01:24:53 +0000 +++ src/peer_select.cc 2014-04-02 10:20:22 +0000 @@ -307,7 +307,7 @@ void *cbdata; if (cbdataReferenceValidDone(psstate->callback_data, &cbdata)) { - callback(psstate->paths, psstate->lastError, cbdata); + callback(psstate->lastError, cbdata); psstate->lastError = NULL; // FwdState has taken control over the ErrorState object. } === modified file 'src/tunnel.cc' --- src/tunnel.cc 2014-02-21 10:46:19 +0000 +++ src/tunnel.cc 2014-04-02 10:35:47 +0000 @@ -957,11 +957,12 @@ } static void -tunnelPeerSelectComplete(Comm::ConnectionList *peer_paths, ErrorState *err, void *data) +tunnelPeerSelectComplete(ErrorState *err, void *data) { TunnelStateData *tunnelState = (TunnelStateData *)data; + assert(cbdataReferenceValid(tunnelState)); - if (peer_paths == NULL || peer_paths->size() < 1) { + if (tunnelState->serverDestinations.empty()) { debugs(26, 3, HERE << "No paths found. Aborting CONNECT"); if (!err) { err = new ErrorState(ERR_CANNOT_FORWARD, Http::scServiceUnavailable, tunnelState->request.getRaw()); @@ -982,8 +983,8 @@ tunnelState->serverDestinations[0]->nfmark = GetNfmarkToServer(tunnelState->request.getRaw()); #endif - debugs(26, 3, HERE << "paths=" << peer_paths->size() << ", p[0]={" << (*peer_paths)[0] << "}, serverDest[0]={" << - tunnelState->serverDestinations[0] << "}"); + debugs(26, 3, "paths=" << tunnelState->serverDestinations.size() << + ", serverDest[0]={" << tunnelState->serverDestinations[0] << "}"); AsyncCall::Pointer call = commCbCall(26,3, "tunnelConnectDone", CommConnectCbPtrFun(tunnelConnectDone, tunnelState)); Comm::ConnOpener *cs = new Comm::ConnOpener(tunnelState->serverDestinations[0], call, Config.Timeout.connect);