diff --git a/bin/BFT-SMaRt.jar b/bin/BFT-SMaRt.jar index 2dc5a4d8421769551c85e09fd0631ae36cc3993e..d257b245baa5ec652ba4c54ac79dddd7d83f61e2 100644 Binary files a/bin/BFT-SMaRt.jar and b/bin/BFT-SMaRt.jar differ diff --git a/src/bftsmart/tom/ServiceProxy.java b/src/bftsmart/tom/ServiceProxy.java index ff12a520f3b1ab21ad3c84c9664afa8ae5dc6551..55d70c1e4bec59b4fbab0c9d97849e2f5e52b633 100644 --- a/src/bftsmart/tom/ServiceProxy.java +++ b/src/bftsmart/tom/ServiceProxy.java @@ -172,6 +172,9 @@ public class ServiceProxy extends TOMSender { * @return The reply from the replicas related to request */ public byte[] invoke(byte[] request, TOMMessageType reqType) { + + try { + canSendLock.lock(); // Clean all statefull data to prepare for receiving next replies @@ -293,8 +296,12 @@ public class ServiceProxy extends TOMSender { } //******* EDUARDO END **************// - canSendLock.unlock(); return ret; + + } finally { + + canSendLock.unlock(); //always release lock + } } //******* EDUARDO BEGIN **************//