diff options
Diffstat (limited to 'src/SelfIvyClient.java')
-rw-r--r-- | src/SelfIvyClient.java | 14 |
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); |