summaryrefslogtreecommitdiff
path: root/ACE/ace/TSS_T.h
diff options
context:
space:
mode:
authorvzykov <vzykov@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-07-19 11:54:35 +0000
committervzykov <vzykov@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-07-19 11:54:35 +0000
commita8ca21aba7cf066d08d1b04ff2c35171714ce579 (patch)
tree7e3d8820419a01b69e7a3a7e04fd30895f6a9587 /ACE/ace/TSS_T.h
parent45dd49dd4fe0a3bf6334bc3ffb6f18a1aa54bdcd (diff)
downloadATCD-a8ca21aba7cf066d08d1b04ff2c35171714ce579.tar.gz
Mon Jul 19 11:50:59 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
* ace/TSS_T.inl: * ace/TSS_T.h: * ace/TSS_T.cpp: Mostly fixed bug 3539. It doesn't fix a case when main thread doesn't own ACE_TSS but still uses it. Fixing the later is not straight forward and will require a lot more efforts. Also rearranged the code so that it has less duplicates. * tests/run_test.lst: Marked the test as fixed.
Diffstat (limited to 'ACE/ace/TSS_T.h')
-rw-r--r--ACE/ace/TSS_T.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/ACE/ace/TSS_T.h b/ACE/ace/TSS_T.h
index d0ed0a7b472..edd85202e31 100644
--- a/ACE/ace/TSS_T.h
+++ b/ACE/ace/TSS_T.h
@@ -39,6 +39,10 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+#if defined (ACE_HAS_THR_C_DEST)
+class ACE_TSS_Adapter;
+#endif
+
/**
* @class ACE_TSS
*
@@ -193,6 +197,20 @@ protected:
/// "Destructor" that deletes internal TYPE * when thread exits.
static void cleanup (void *ptr);
+
+ /// Obtains a plain value stored in the thread-specific storage.
+# if defined (ACE_HAS_THR_C_DEST)
+ ACE_TSS_Adapter *ts_value (void) const;
+# else
+ TYPE *ts_value (void) const;
+# endif /* ACE_HAS_THR_C_DEST */
+
+ /// Stores a new plain value in the thread-specific storage.
+# if defined (ACE_HAS_THR_C_DEST)
+ int ts_value (ACE_TSS_Adapter *new_tss_adapter) const;
+# else
+ int ts_value (TYPE *new_ts_obj) const;
+# endif /* ACE_HAS_THR_C_DEST */
#endif /* defined (ACE_HAS_THREADS) && (defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION)) */
// = Disallow copying...
ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_TSS<TYPE> &))