diff options
author | vzykov <vzykov@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-11-16 16:04:12 +0000 |
---|---|---|
committer | vzykov <vzykov@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-11-16 16:04:12 +0000 |
commit | 7791e48a722ccd5deab3f1a0f05b13f7404a0758 (patch) | |
tree | 20a76676ad4db8ee1524e09fb14a88ca0929f1e3 /TAO/tao/PI_Server | |
parent | c0a7107cfbaabc5663df730f0f7c355db1e48f2a (diff) | |
download | ATCD-7791e48a722ccd5deab3f1a0f05b13f7404a0758.tar.gz |
Mon Nov 16 15:52:21 UTC 2009 Vladimir Zykov <vladimir.zykov@prismtech.com>
* bin/tao_orb_tests.lst:
Bug 3755 marked as fixed.
* tao/PI_Server/PI_Server_Loader.cpp:
* tao/PI_Server/PI_Server_Loader.h:
* tao/Messaging/Messaging_Loader.h:
* tao/Messaging/Messaging_Loader.cpp:
* tao/BiDir_GIOP/BiDirGIOP.cpp:
* tao/BiDir_GIOP/BiDirGIOP.h:
* tao/RTScheduling/RTScheduler_Loader.cpp:
* tao/RTScheduling/RTScheduler_Loader.h:
* tao/ZIOP/ZIOP.cpp:
* tao/ZIOP/ZIOP.h:
* tao/CSD_Framework/CSD_Framework_Loader.cpp:
* tao/CSD_Framework/CSD_Framework_Loader.h:
* tao/RTCORBA/RT_ORB_Loader.h:
* tao/RTCORBA/RT_ORB_Loader.cpp:
Fixed bug 3755. Now library initialization guard is moved
to a loader which does the initialization. Since the loader is
unique per gestalt then the initialization is executed once per
gestalt and not once per process.
Diffstat (limited to 'TAO/tao/PI_Server')
-rw-r--r-- | TAO/tao/PI_Server/PI_Server_Loader.cpp | 7 | ||||
-rw-r--r-- | TAO/tao/PI_Server/PI_Server_Loader.h | 4 |
2 files changed, 7 insertions, 4 deletions
diff --git a/TAO/tao/PI_Server/PI_Server_Loader.cpp b/TAO/tao/PI_Server/PI_Server_Loader.cpp index d953483b5eb..fbbc70400ab 100644 --- a/TAO/tao/PI_Server/PI_Server_Loader.cpp +++ b/TAO/tao/PI_Server/PI_Server_Loader.cpp @@ -15,6 +15,7 @@ ACE_RCSID (PI_Server, TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_PI_Server_Loader::TAO_PI_Server_Loader (void) + : initialized_ (false) { } @@ -27,13 +28,11 @@ TAO_PI_Server_Loader::init (int, ACE_TCHAR* []) { ACE_TRACE ("TAO_PI_Server_Loader::init"); - static bool initialized = false; - // Only allow initialization once. - if (initialized) + if (this->initialized_) return 0; - initialized = true; + this->initialized_ = true; // Register the ORB initializer. try diff --git a/TAO/tao/PI_Server/PI_Server_Loader.h b/TAO/tao/PI_Server/PI_Server_Loader.h index 81ffeb05250..58b691f7647 100644 --- a/TAO/tao/PI_Server/PI_Server_Loader.h +++ b/TAO/tao/PI_Server/PI_Server_Loader.h @@ -36,6 +36,10 @@ public: /// Initialize the PI_Server loader hooks. virtual int init (int argc, ACE_TCHAR* []); + +private: + /// Set to true after init is called. + bool initialized_; }; |