summaryrefslogtreecommitdiff
path: root/TAO/tao/TAO_Singleton_Manager.h
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2002-07-31 18:30:18 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2002-07-31 18:30:18 +0000
commit7ebdf77a27c8da6680a6390442763a88853a0dba (patch)
tree177a9dfc8c770006a7da089627676908f53f772f /TAO/tao/TAO_Singleton_Manager.h
parent692935c092b2216f244c35479a56ee33c4d570ad (diff)
downloadATCD-7ebdf77a27c8da6680a6390442763a88853a0dba.tar.gz
ChangeLogTag:Wed Jul 31 11:28:16 2002 Ossama Othman <ossama@uci.edu>
Diffstat (limited to 'TAO/tao/TAO_Singleton_Manager.h')
-rw-r--r--TAO/tao/TAO_Singleton_Manager.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/TAO/tao/TAO_Singleton_Manager.h b/TAO/tao/TAO_Singleton_Manager.h
index 3cb90214779..9611ceb7f81 100644
--- a/TAO/tao/TAO_Singleton_Manager.h
+++ b/TAO/tao/TAO_Singleton_Manager.h
@@ -29,12 +29,19 @@
#include "ace/OS.h"
-// Adapter for cleanup, used to register cleanup function with the
-// ACE_Object_Manager.
+
+#if defined (ACE_HAS_EXCEPTIONS)
+typedef void (*TAO_unexpected_handler)(void);
+#endif /* ACE_HAS_EXCEPTIONS */
+
+
+/// Adapter for cleanup, used to register cleanup function with the
+/// ACE_Object_Manager.
extern "C"
void
TAO_Singleton_Manager_cleanup_destroyer (void *, void *);
+
/**
* @class TAO_Singleton_Manager
*
@@ -189,6 +196,19 @@ private:
/// Lock that is used to guard internal structures.
TAO_SYNCH_RECURSIVE_MUTEX *internal_lock_;
#endif /* ACE_MT_SAFE */
+
+#if defined (ACE_HAS_EXCEPTIONS)
+ /// The old unexpected exception handler.
+ /**
+ * A pointer to the old unexpected exception handler is stored so
+ * that it can be restored when TAO is unloaded, for example.
+ * Otherwise, any unexpected exceptions will result in a call to
+ * TAO's unexpected exception handler which may no longer exist if
+ * TAO was unloaded.
+ */
+ TAO_unexpected_handler old_unexpected_;
+#endif /* ACE_HAS_EXCEPTIONS */
+
};
#if defined (__ACE_INLINE__)