summaryrefslogtreecommitdiff
path: root/ACE/ace/TSS_T.cpp
diff options
context:
space:
mode:
authorAdam Mitz <mitza@ociweb.com>2015-11-11 16:15:52 -0600
committerAdam Mitz <mitza@ociweb.com>2015-11-11 16:15:52 -0600
commit74f5d92308ff3d0ae6012b2e4e4d3986c8ff5e8d (patch)
treeebdcdf336ac24ab877022fbb88268640ebd1b231 /ACE/ace/TSS_T.cpp
parent6226b0eec95959b716a46120699d6357a20dad70 (diff)
downloadATCD-74f5d92308ff3d0ae6012b2e4e4d3986c8ff5e8d.tar.gz
LynxOS-178 has some issues in its thread specific storage.
Diffstat (limited to 'ACE/ace/TSS_T.cpp')
-rw-r--r--ACE/ace/TSS_T.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/ACE/ace/TSS_T.cpp b/ACE/ace/TSS_T.cpp
index adbc0465ba7..c99593e4542 100644
--- a/ACE/ace/TSS_T.cpp
+++ b/ACE/ace/TSS_T.cpp
@@ -46,7 +46,11 @@ ACE_TSS<TYPE>::~ACE_TSS (void)
# else
TYPE *ts_obj = this->ts_value ();
this->ts_value (0);
+# if !defined ACE_HAS_LYNXOS_178 || defined ACE_HAS_TSS_EMULATION
+ // A bug in LynxOS-178 causes pthread_setspecific (called from ts_value(0)
+ // above) to call the cleanup function, so we need to avoid calling it here.
ACE_TSS<TYPE>::cleanup (ts_obj);
+# endif
# endif /* ACE_HAS_THR_C_DEST */
ACE_OS::thr_key_detach (this->key_);