summaryrefslogtreecommitdiff
path: root/js/src/Ice/ObjectAdapterFactory.js
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2014-10-29 16:16:50 +0100
committerBenoit Foucher <benoit@zeroc.com>2014-10-29 16:16:50 +0100
commitcdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73 (patch)
tree6174a4c924695b7e6de1ba83d556872376a9808d /js/src/Ice/ObjectAdapterFactory.js
parentPrevent proguard task from being run every time you build (diff)
downloadice-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.js31
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)