From e5a4c0d17e532824e0d379cb1c322296b07c73f9 Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Tue, 25 Sep 2018 08:20:57 +0200 Subject: [PATCH] ObjectDownloadListener#onWritePossible: Add comment on return statement It is not obvious why this return statement is needed. Clarify with a comment that otherwise endless loop may show up when recent versions of Jetty are used. Change-Id: I8e5d4de51869fb1179bf599bfb81bcd7d745874b Signed-off-by: David Ostrovsky --- .../eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java b/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java index 60258602f..2dc9493f3 100644 --- a/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java +++ b/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java @@ -134,6 +134,10 @@ public class ObjectDownloadListener implements WriteListener { } finally { context.complete(); } + // This is need to avoid endless loop in recent Jetty versions. + // That's because out.isReady() is returning true for already + // closed streams and because out.close() doesn't throw any + // exception any more when trying to close already closed stream. return; } }