+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.
+
2004-03-25 Gawain Bolton <gp.bolton@computer.org>
* include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
// 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]--;
// 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.