diff options
author | Matthew Newhook <matthew@zeroc.com> | 2014-10-03 15:34:33 -0230 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2014-10-03 15:34:33 -0230 |
commit | b530efc5ccfb6c2b6e096933431f1f1827851996 (patch) | |
tree | 32436ff41466bb7339d250477cda3a4ec7708075 /java/src/Ice/Application.java | |
parent | ICE-5613 - Systemd service support (diff) | |
download | ice-b530efc5ccfb6c2b6e096933431f1f1827851996.tar.bz2 ice-b530efc5ccfb6c2b6e096933431f1f1827851996.tar.xz ice-b530efc5ccfb6c2b6e096933431f1f1827851996.zip |
- Java Application now catches OperationInterruptedException and
retries.
- Removed the InProgress state from Instance, simplified and corrected
the destroy logic.
Diffstat (limited to 'java/src/Ice/Application.java')
-rw-r--r-- | java/src/Ice/Application.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/java/src/Ice/Application.java b/java/src/Ice/Application.java index 4190f39043e..ab9a72f272d 100644 --- a/java/src/Ice/Application.java +++ b/java/src/Ice/Application.java @@ -276,7 +276,18 @@ public abstract class Application { try { - _communicator.destroy(); + try + { + _communicator.destroy(); + } + catch(Ice.OperationInterruptedException ex) + { + Util.getProcessLogger().error(IceInternal.Ex.toString(ex)); + // Retry communicator destroy in case of an operation + // interrupt exception, but don't do so in a loop + // otherwise it could go on forever. + _communicator.destroy(); + } } catch(LocalException ex) { |