Date: Thu, 09 Nov 2000 15:08:55 -0800 From: Jack Rusher <jar@integratus.com> To: James FitzGibbon <james@targetnet.com> Cc: hackers@freebsd.org Subject: Re: Repeatable STL core with -pthread Message-ID: <3A0B2E87.3B49887B@integratus.com> References: <20001109161045.D39548@targetnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
James FitzGibbon wrote: > > The program will core after about 10 seconds, every time. > It would appear that there is an issue with some low-level allocator in the > STL as shipped in 4.x. Dude. The STL implementation that ships with g++ isn't thread safe. In fact, if you read the STL portion of the C++ specification, you will notice that threads are not mentioned at all. The only guarantees made by the STL are that operations will complete within certain performance guidelines. As a safety tip, the string implementation in the g++ implementation isn't thread safe either. It uses a shared buffer scheme ("char* string->rep") to reduce memory consumption & improve performance. This is in opposition to "deep copy" style libraries, like the SGI STL, that work in threaded environments. Because of the way the C++ standard is written, commercial STL implementations, such as the Rogue Wave library that comes with the Sun C++ compiler, suffer from the same threading problems. -- Jack Rusher, Senior Engineer | mailto:jar@integratus.com Integratus, Inc. | http://www.integratus.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A0B2E87.3B49887B>