diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Properties.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Properties.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Properties.cpp b/TAO/orbsvcs/orbsvcs/Notify/Properties.cpp index cf63ccb0be1..4d94655a12e 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Properties.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/Properties.cpp @@ -14,6 +14,8 @@ ACE_RCSID (Notify, TAO_BEGIN_VERSIONED_NAMESPACE_DECL +static TAO_Notify_Properties* properties = 0; + TAO_Notify_Properties::TAO_Notify_Properties (void) : factory_ (0) , builder_ (0) @@ -43,10 +45,21 @@ TAO_Notify_Properties::~TAO_Notify_Properties () TAO_Notify_Properties * TAO_Notify_Properties::instance (void) { - // Hide the template instantiation to prevent multiple instances - // from being created. + if (properties == 0) + { + // Hide the template instantiation to prevent multiple instances + // from being created. + properties = TAO_Singleton<TAO_Notify_Properties, + TAO_SYNCH_MUTEX>::instance (); + } - return - TAO_Singleton<TAO_Notify_Properties, TAO_SYNCH_MUTEX>::instance (); + return properties; } + +void +TAO_Notify_Properties::instance (TAO_Notify_Properties* props) +{ + properties = props; +} + TAO_END_VERSIONED_NAMESPACE_DECL |