aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit/resources
diff options
context:
space:
mode:
authorShawn Pearce <spearce@spearce.org>2016-11-12 17:06:39 -0800
committerShawn Pearce <spearce@spearce.org>2016-11-13 11:02:29 -0800
commit659cd813a98b5a203a21419e58a7dc6de3f40e56 (patch)
tree35f04625aeb8a82fbcdc11c4684c0be9dd3e8607 /org.eclipse.jgit/resources
parent8adbfe4da6723768febbb86c22ac118e233c2154 (diff)
downloadjgit-659cd813a98b5a203a21419e58a7dc6de3f40e56.tar.gz
jgit-659cd813a98b5a203a21419e58a7dc6de3f40e56.zip
Switch JSchSession to simple isolated OutputStream
Work around issues with JSch not handling interrupts by isolating the JSch interactions onto another thread. Run write and flush on a single threaded Executor using simple Callable operations wrapping the method calls, waiting on the future to determine the outcome before allowing the caller to continue. If any operation was interrupted the state of the stream becomes fuzzy at close time. The implementation tries to interrupt the pending write or flush, but this is very likely to corrupt the stream object, so exceptions are ignored during such a dirty close. Change-Id: I42e3ba3d8c35a2e40aad340580037ebefbb99b53
Diffstat (limited to 'org.eclipse.jgit/resources')
-rw-r--r--org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties1
1 files changed, 1 insertions, 0 deletions
diff --git a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
index aa73b44848..0f2c8b3d1d 100644
--- a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
+++ b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
@@ -116,6 +116,7 @@ checkoutConflictWithFiles=Checkout conflict with files: {0}
checkoutUnexpectedResult=Checkout returned unexpected result {0}
classCastNotA=Not a {0}
cloneNonEmptyDirectory=Destination path "{0}" already exists and is not an empty directory
+closed=closed
collisionOn=Collision on {0}
commandRejectedByHook=Rejected by "{0}" hook.\n{1}
commandWasCalledInTheWrongState=Command {0} was called in the wrong state