diff options
author | Paolo Carlini <pcarlini@suse.de> | 2004-03-26 16:56:09 +0000 |
---|---|---|
committer | Paolo Carlini <pcarlini@suse.de> | 2004-03-26 16:56:09 +0000 |
commit | 7e04b3d69524330374878704d061450d0fa5631d (patch) | |
tree | 92dcf3c09f4557a80f25d236f45f0d777efa9ea5 /libstdc++-v3/include/ext | |
parent | 787be172d284c16ce473ab172ccc282fb2e5b614 (diff) |
2004-03-26 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h (__mt_alloc<>::allocate,
__mt_alloc<>::deallocate): Protect two instances of
block->thread_id with __GTHREADS.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@79986 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/ext')
-rw-r--r-- | libstdc++-v3/include/ext/mt_allocator.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h index 943cff7d439..d19849d2ed8 100644 --- a/libstdc++-v3/include/ext/mt_allocator.h +++ b/libstdc++-v3/include/ext/mt_allocator.h @@ -405,9 +405,9 @@ namespace __gnu_cxx // grab the first record and update the counters. block = __bin.first[__thread_id]; __bin.first[__thread_id] = __bin.first[__thread_id]->next; - block->thread_id = __thread_id; #ifdef __GTHREADS + block->thread_id = __thread_id; if (__gthread_active_p()) { __bin.free[__thread_id]--; @@ -436,13 +436,13 @@ namespace __gnu_cxx // Round up to power of 2 and figure out which bin to use. const size_t __which = _S_binmap[__bytes]; - const size_t thread_id = _S_get_thread_id(); const bin_record& __bin = _S_bin[__which]; char* __c = reinterpret_cast<char*>(__p) - sizeof(block_record); block_record* block = reinterpret_cast<block_record*>(__c); #ifdef __GTHREADS + const size_t thread_id = _S_get_thread_id(); if (__gthread_active_p()) { // Calculate the number of records to remove from our freelist. |