OSDN Git Service

2005-09-25 Benjamin Kosnik <bkoz@redhat.com>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Sep 2005 01:40:46 +0000 (01:40 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Sep 2005 01:40:46 +0000 (01:40 +0000)
    Eric Botcazou  <ebotcazou@libertysurf.fr>

* include/ext/mt_allocator.h
(__per_type_pool<...true>::_S_initialize_once): Always call
_M_initialize_once.
(__common_pool<...true>::_S_initialize_once): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104678 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/ext/mt_allocator.h

index 60af325..5962413 100644 (file)
@@ -1,3 +1,11 @@
+2005-09-25  Benjamin Kosnik  <bkoz@redhat.com>
+           Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * include/ext/mt_allocator.h
+       (__per_type_pool<...true>::_S_initialize_once): Always call
+       _M_initialize_once.
+       (__common_pool<...true>::_S_initialize_once): Same.
+
 2005-09-23  Benjamin Kosnik  <bkoz@redhat.com>
 
        * testsuite/ext/mt_allocator/tune-1.cc: Clarify for single-thread.
index 23dd511..014e62a 100644 (file)
@@ -432,8 +432,11 @@ namespace __gnu_cxx
                static __gthread_once_t __once = __GTHREAD_ONCE_INIT;
                __gthread_once(&__once, _S_initialize);
              }
-           else
-             _S_get_pool()._M_initialize_once(); 
+
+           // Double check initialization. May be necessary on some
+           // systems for proper construction when not compiling with
+           // thread flags.
+           _S_get_pool()._M_initialize_once(); 
            __init = true;
          }
       }
@@ -524,8 +527,11 @@ namespace __gnu_cxx
                static __gthread_once_t __once = __GTHREAD_ONCE_INIT;
                __gthread_once(&__once, _S_initialize);
              }
-           else
-             _S_get_pool()._M_initialize_once(); 
+
+           // Double check initialization. May be necessary on some
+           // systems for proper construction when not compiling with
+           // thread flags.
+           _S_get_pool()._M_initialize_once(); 
            __init = true;
          }
       }