diff options
Diffstat (limited to 'ace/Synch.h')
-rw-r--r-- | ace/Synch.h | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/ace/Synch.h b/ace/Synch.h index 0e2aba63078..1c0c5335b87 100644 --- a/ace/Synch.h +++ b/ace/Synch.h @@ -490,7 +490,35 @@ protected: ACE_Null_Mutex_Guard (const ACE_Null_Mutex_Guard &) {} }; -#if defined (ACE_HAS_THREADS) /* ACE platform supports some form of threading. */ +class ACE_TSS_Adapter + // = TITLE + // This class encapsulates a TSS object and its associated + // C++ destructor function. It is used by the ACE_TSS... + // methods (in Synch_T.cpp) in order to allow an extern + // "C" cleanup routine to be used. Needed by the "frigging" + // MVS C++ compiler. + // + // = DESCRIPTION + // Objects of this class are stored in thread specific + // storage. ts_obj_ points to the "real" object and + // func_ is a pointer to the C++ cleanup function for ts_obj_. + // +{ +public: + ACE_TSS_Adapter (void *object, ACE_THR_DEST f); + // Initialize the adapter. + + void cleanup (void); + // Perform the cleanup operation. + +//private: + + void *ts_obj_; + // The real TS object. + + ACE_THR_DEST func_; + // The real cleanup routine for ts_obj; +}; class ACE_Export ACE_Event // = TITLE @@ -610,6 +638,8 @@ public: // Declare the dynamic allocation hooks }; +#if defined (ACE_HAS_THREADS) /* ACE platform supports some form of threading. */ + class ACE_Export ACE_Thread_Mutex // = TITLE // ACE_Thread_Mutex wrapper (only valid for threads in the same |