summaryrefslogtreecommitdiffstats
path: root/jurt/com/sun/star/lib/uno/environments/remote
diff options
context:
space:
mode:
Diffstat (limited to 'jurt/com/sun/star/lib/uno/environments/remote')
-rw-r--r--jurt/com/sun/star/lib/uno/environments/remote/IProtocol.java2
-rw-r--r--jurt/com/sun/star/lib/uno/environments/remote/IThreadPool.java6
-rw-r--r--jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java9
3 files changed, 11 insertions, 6 deletions
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/IProtocol.java b/jurt/com/sun/star/lib/uno/environments/remote/IProtocol.java
index 1fae45e9ca23..de581ea86c7b 100644
--- a/jurt/com/sun/star/lib/uno/environments/remote/IProtocol.java
+++ b/jurt/com/sun/star/lib/uno/environments/remote/IProtocol.java
@@ -51,6 +51,8 @@ public interface IProtocol {
*/
void init() throws IOException;
+ void terminate();
+
/**
* Reads a request or reply message.
*
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/IThreadPool.java b/jurt/com/sun/star/lib/uno/environments/remote/IThreadPool.java
index c70ccfa7e934..71961737fd55 100644
--- a/jurt/com/sun/star/lib/uno/environments/remote/IThreadPool.java
+++ b/jurt/com/sun/star/lib/uno/environments/remote/IThreadPool.java
@@ -110,10 +110,10 @@ public interface IThreadPool {
/**
* Disposes this thread pool, thus releasing
- * all threads by throwing the given
- * <code>Throwable</code>.
+ * all threads by throwing a <code>DisposedException</code> with the given
+ * <code>Throwable</code> cause.
* <p>
- * @param throwing the Throwable
+ * @param throwing the cause
*/
public void dispose(Throwable throwable);
diff --git a/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java b/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java
index f7568a30cef7..62e49cc44f16 100644
--- a/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java
+++ b/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java
@@ -27,6 +27,7 @@
package com.sun.star.lib.uno.environments.remote;
+import com.sun.star.lang.DisposedException;
/**
* The <code>JobQueue</code> implements a queue for jobs.
@@ -200,7 +201,7 @@ public class JobQueue {
* @return a job or null if timed out
* @param waitTime the maximum amount of time to wait for a job
*/
- private Job removeJob(int waitTime) throws Throwable {
+ private Job removeJob(int waitTime) {
if(DEBUG) System.err.println("##### " + getClass().getName() + ".removeJob:" + _head + " " + _threadId);
Job job = null;
@@ -210,7 +211,8 @@ public class JobQueue {
while(_head == null && (waitTime == 0 || !waited)) {
if(_doDispose == _disposeId) {
_doDispose = null;
- throw _throwable;
+ throw (DisposedException)
+ new DisposedException().initCause(_throwable);
}
// notify sync queues
@@ -250,7 +252,8 @@ public class JobQueue {
if(_doDispose == _disposeId) {
_doDispose = null;
- throw _throwable;
+ throw (DisposedException)
+ new DisposedException().initCause(_throwable);
}
try {