Merge branch 'stable-5.10' into stable-5.11
* stable-5.10: Fix connection leak for smart http connections Change-Id: I3885c6114caed897f762f5ce523d3b27288205b2
This commit is contained in:
commit
c7335f32e9
|
@ -1529,14 +1529,19 @@ class SmartHttpFetchConnection extends BasePackFetchConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doFetch(final ProgressMonitor monitor,
|
protected void doFetch(ProgressMonitor monitor, Collection<Ref> want,
|
||||||
final Collection<Ref> want, final Set<ObjectId> have,
|
Set<ObjectId> have, OutputStream outputStream)
|
||||||
final OutputStream outputStream) throws TransportException {
|
throws TransportException {
|
||||||
try {
|
svc = new MultiRequestService(SVC_UPLOAD_PACK,
|
||||||
svc = new MultiRequestService(SVC_UPLOAD_PACK,
|
getProtocolVersion());
|
||||||
getProtocolVersion());
|
try (InputStream svcIn = svc.getInputStream();
|
||||||
init(svc.getInputStream(), svc.getOutputStream());
|
OutputStream svcOut = svc.getOutputStream()) {
|
||||||
|
init(svcIn, svcOut);
|
||||||
super.doFetch(monitor, want, have, outputStream);
|
super.doFetch(monitor, want, have, outputStream);
|
||||||
|
} catch (TransportException e) {
|
||||||
|
throw e;
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new TransportException(e.getMessage(), e);
|
||||||
} finally {
|
} finally {
|
||||||
svc = null;
|
svc = null;
|
||||||
}
|
}
|
||||||
|
@ -1560,13 +1565,20 @@ class SmartHttpPushConnection extends BasePackPushConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doPush(final ProgressMonitor monitor,
|
protected void doPush(ProgressMonitor monitor,
|
||||||
final Map<String, RemoteRefUpdate> refUpdates,
|
Map<String, RemoteRefUpdate> refUpdates,
|
||||||
OutputStream outputStream) throws TransportException {
|
OutputStream outputStream) throws TransportException {
|
||||||
final Service svc = new MultiRequestService(SVC_RECEIVE_PACK,
|
Service svc = new MultiRequestService(SVC_RECEIVE_PACK,
|
||||||
getProtocolVersion());
|
getProtocolVersion());
|
||||||
init(svc.getInputStream(), svc.getOutputStream());
|
try (InputStream svcIn = svc.getInputStream();
|
||||||
super.doPush(monitor, refUpdates, outputStream);
|
OutputStream svcOut = svc.getOutputStream()) {
|
||||||
|
init(svcIn, svcOut);
|
||||||
|
super.doPush(monitor, refUpdates, outputStream);
|
||||||
|
} catch (TransportException e) {
|
||||||
|
throw e;
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new TransportException(e.getMessage(), e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue