diff options
author | Benoit Foucher <benoit@zeroc.com> | 2014-10-29 16:16:50 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2014-10-29 16:16:50 +0100 |
commit | cdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73 (patch) | |
tree | 6174a4c924695b7e6de1ba83d556872376a9808d /js/src/Ice/ObjectAdapterFactory.js | |
parent | Prevent proguard task from being run every time you build (diff) | |
download | ice-cdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73.tar.bz2 ice-cdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73.tar.xz ice-cdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73.zip |
Fixed ICE-5786: fixed Ice communicator destroy to be thread safe
Diffstat (limited to 'js/src/Ice/ObjectAdapterFactory.js')
-rw-r--r-- | js/src/Ice/ObjectAdapterFactory.js | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/js/src/Ice/ObjectAdapterFactory.js b/js/src/Ice/ObjectAdapterFactory.js index 46e8761b3ce..aede99ab193 100644 --- a/js/src/Ice/ObjectAdapterFactory.js +++ b/js/src/Ice/ObjectAdapterFactory.js @@ -47,22 +47,11 @@ var ObjectAdapterFactory = Ice.Class({ this._instance = null; this._communicator = null; - var self = this; - Promise.all( + this._shutdownPromise = Promise.all( this._adapters.map(function(adapter) - { - return adapter.deactivate(); - }) - ).then( - function() - { - self._shutdownPromise.succeed(); - }, - function(ex) - { - self._shutdownPromise.fail(ex); - } - ); + { + return adapter.deactivate(); + })); return this._shutdownPromise; }, waitForShutdown: function() @@ -72,9 +61,9 @@ var ObjectAdapterFactory = Ice.Class({ function() { return Promise.all(self._adapters.map(function(adapter) - { - return adapter.waitForDeactivate(); - })); + { + return adapter.waitForDeactivate(); + })); }); }, isShutdown: function() @@ -88,9 +77,9 @@ var ObjectAdapterFactory = Ice.Class({ function() { return Promise.all(self._adapters.map(function(adapter) - { - return adapter.destroy(); - })); + { + return adapter.destroy(); + })); }); }, createObjectAdapter: function(name, router, promise) |