aboutsummaryrefslogtreecommitdiff
path: root/src/SelfIvyClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/SelfIvyClient.java')
-rw-r--r--src/SelfIvyClient.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/SelfIvyClient.java b/src/SelfIvyClient.java
index acd2d66..43bfccb 100644
--- a/src/SelfIvyClient.java
+++ b/src/SelfIvyClient.java
@@ -36,7 +36,7 @@ class SelfIvyClient extends IvyClient {
protected SelfIvyClient(Ivy bus,String appName) {
this.bus=bus;
- this.protocol=Ivy.PROTOCOLVERSION;
+ // this.protocol=Ivy.PROTOCOLVERSION;
this.appName=appName;
}
@@ -99,11 +99,17 @@ class SelfIvyClient extends IvyClient {
protected void callCallback(IvyClient client, Integer key, String[] tab) {
IvyMessageListener callback=(IvyMessageListener)callbacks.get(key);
- boolean threaded=((Boolean)threadedFlag.get(key)).booleanValue();
if (callback==null) {
- System.out.println("(callCallback) Not regexp matching id "+key.intValue());
- System.exit(0);
+ traceDebug("Not regexp matching id "+key.intValue()+", it must have been unsubscribed concurrently");
+ return;
+ // TODO check that nasty synchro issue, test suite: Request
}
+ Boolean b = (Boolean)threadedFlag.get(key);
+ if (callback==null) {
+ System.out.println("threadedFlag.get returns null for"+key.intValue()+", it must have been unsubscribed concurrently");
+ return;
+ }
+ boolean threaded=b.booleanValue();
if (!threaded) {
// runs the callback in the same thread
callback.receive(client, tab);