* include/ext/mt_allocator.h: Portability.

From-SVN: r68406
This commit is contained in:
Loren J. Rittle 2003-06-24 06:34:34 +00:00 committed by Loren J. Rittle
parent d46c570d55
commit 3d57d7bafa
2 changed files with 11 additions and 7 deletions

View File

@ -7,6 +7,8 @@
* config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
* config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
* include/ext/mt_allocator.h: Portability.
2003-06-23 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/17_intro/libstdc++-assign.txt: Update address.

View File

@ -613,13 +613,15 @@ namespace __gnu_cxx
if (!_S_bin[bin].mutex)
__throw_bad_alloc();
/*
* This is not only ugly - it's extremly non-portable!
* However gthr.h does not currently provide a
* __gthread_mutex_init() call. The correct solution to
* this problem needs to be discussed.
*/
pthread_mutex_init(_S_bin[bin].mutex, NULL);
#ifdef __GTHREAD_MUTEX_INIT
{
// Do not copy a POSIX/gthr mutex once in use.
__gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT;
*_S_bin[bin].mutex = __tmp;
}
#else
{ __GTHREAD_MUTEX_INIT_FUNCTION (_S_bin[bin].mutex); }
#endif
#endif
for (size_t thread = 0; thread <= _S_max_threads; thread++)